Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
coenm committed Oct 5, 2024
1 parent e5ebb95 commit 70a8887
Show file tree
Hide file tree
Showing 2 changed files with 165 additions and 114 deletions.
45 changes: 40 additions & 5 deletions src/RepoM.App/Controls/AcrylicMenuItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ namespace RepoM.App.Controls;

public class AcrylicMenuItem : MenuItem
{
private RoutedEventHandler? _evt;
private RoutedEventHandler? _clickEvtHandler;
private RoutedEventHandler? _subMenuOpenedEventHandler;
private static readonly Brush _solidColorBrush = new SolidColorBrush(Color.FromArgb(80, 0, 0, 0));

protected override void OnSubmenuOpened(RoutedEventArgs e)
Expand Down Expand Up @@ -53,21 +54,55 @@ private void BlurSubMenu()
AcrylicHelper.EnableBlur(container);
}

public void SoftReset()
{
ClearClick();
ClearSubMenuOpened();
}

public void SetClick(RoutedEventHandler routedEventHandler)
{
ClearClick();
Click += routedEventHandler;
_evt = routedEventHandler;
_clickEvtHandler = routedEventHandler;
}

public void ClearClick()
{
if (_evt == null)
if (_clickEvtHandler == null)
{
return;
}

Click -= _clickEvtHandler;
_clickEvtHandler = null;
}

public void SetSubMenuOpened(RoutedEventHandler routedEventHandler)
{
ClearSubMenuOpened();
SubmenuOpened += routedEventHandler;
_subMenuOpenedEventHandler = routedEventHandler;
}

public void ClearSubMenuOpened()
{
if (_subMenuOpenedEventHandler == null)
{
return;
}

SubmenuOpened -= _subMenuOpenedEventHandler;
_subMenuOpenedEventHandler = null;
}

public void ClearItems()
{
if (Items.Count == 0)
{
return;
}

Click -= _evt;
_evt = null;
Items.Clear();
}
}
Loading

0 comments on commit 70a8887

Please sign in to comment.