completed basic function

This commit is contained in:
NaBian committed 2019-05-03 22:14:25 +08:00
1 parent 0cd8529b6c
commit 145c47711f
5 files changed
+51 -14

No files matched your search

@@ -9,6 +9,8 @@ namespace HandyControl.Controls
private SideMenuItem _selectedHeader;
private bool _isItemSelected;
public SideMenu()
{
AddHandler(SideMenuItem.SelectedEvent, new RoutedEventHandler(SideMenuItemSelected));
@@ -27,17 +29,30 @@ namespace HandyControl.Controls
_selectedItem = item;
_selectedItem.IsSelected = true;
_isItemSelected = true;
}
else
{
if (_selectedHeader != null)
if (!Equals(item, _selectedHeader))
{
_selectedHeader.IsSelected = false;
if (_selectedHeader != null)
{
_selectedHeader.IsSelected = false;
}
_selectedHeader = item;
_selectedHeader.IsSelected = true;
}
_selectedHeader = item;
_selectedHeader.IsSelected = true;
_selectedHeader.SelectDefaultItem(_selectedItem);
if (_isItemSelected)
{
_isItemSelected = false;
}
else
{
_selectedHeader.SelectDefaultItem();
_isItemSelected = false;
}
}
}
}
@@ -72,20 +72,16 @@ namespace HandyControl.Controls
if (_isMouseLeftButtonDown)
{
if (!IsSelected)
{
IsSelected = true;
OnSelected(new RoutedEventArgs(SelectedEvent, this));
}
IsSelected = true;
OnSelected(new RoutedEventArgs(SelectedEvent, this));
_isMouseLeftButtonDown = false;
}
}
internal void SelectDefaultItem(SideMenuItem menuItem)
internal void SelectDefaultItem()
{
if (Role == SideMenuItemRole.Header && ItemsHost.Children.Count > 0)
{
if (ItemsHost.Children.Contains(menuItem)) return;
var item = ItemsHost.Children.OfType<SideMenuItem>().FirstOrDefault();
if (item != null && !item.IsSelected)
{