style building

This commit is contained in:
NaBian committed 2019-05-01 22:46:16 +08:00
1 parent d3664e3a32
commit 0cd8529b6c
10 files changed
+293 -22

No files matched your search

@@ -1,4 +1,5 @@
using System.Windows;
using HandyControl.Data;
namespace HandyControl.Controls
{
@@ -6,6 +7,41 @@ namespace HandyControl.Controls
{
private SideMenuItem _selectedItem;
private SideMenuItem _selectedHeader;
public SideMenu()
{
AddHandler(SideMenuItem.SelectedEvent, new RoutedEventHandler(SideMenuItemSelected));
}
private void SideMenuItemSelected(object sender, RoutedEventArgs e)
{
if (e.OriginalSource is SideMenuItem item)
{
if (item.Role == SideMenuItemRole.Item)
{
if (_selectedItem != null)
{
_selectedItem.IsSelected = false;
}
_selectedItem = item;
_selectedItem.IsSelected = true;
}
else
{
if (_selectedHeader != null)
{
_selectedHeader.IsSelected = false;
}
_selectedHeader = item;
_selectedHeader.IsSelected = true;
_selectedHeader.SelectDefaultItem(_selectedItem);
}
}
}
protected override DependencyObject GetContainerForItemOverride() => new SideMenuItem();
protected override bool IsItemItsOwnContainerOverride(object item) => item is SideMenuItem;