Files
HandyControl/doc/source/handycontrol/native_controls/menu/index.md
T
guanguanchuangyu bb3e379ed4 doc of attach/tipElement
doc of native_controls/listview,menu,passwordbox
2019-12-08 22:33:00 +08:00

2.1 KiB

title
title
Menu 菜单

MenuBaseStyle

HandyControl中的菜单默认样式,一般不建议直接使用,而是选择继承,便于个人自定义风格

样式

    <Style BasedOn="{StaticResource MenuItemBaseStyle}" TargetType="MenuItem"/>
    <Style BasedOn="{StaticResource MenuBaseStyle}" TargetType="Menu"/>

使用

<Menu ItemsSource="{Binding Menus}">
        <Menu.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Children}">
                <TextBlock Text="{Binding Name}"></TextBlock>
            </HierarchicalDataTemplate>
        </Menu.ItemTemplate>
</Menu>

数据视图

    //菜单子项视图类
    public class MenuItemViewModel
    {
        public List<MenuItemViewModel> Children { get; set; }
        public MenuItemViewModel Parent { get; set; }
        public string Name { get; set; }
        public string Remark { get; set; }
    }
    //菜单数据视图类
    public class MenuViewModel
    {
        public MenuViewModel()
        {
            Menus = new List<MenuItemViewModel>
            {
               new MenuItemViewModel
               {
                 Name="一级菜单",
                 Children =  new List<MenuItemViewModel>{
                  new MenuItemViewModel{
                    Name="二级菜单"
                  }
                 }
               },
               new MenuItemViewModel
               {
                 Name="一级菜单",
                 Children =  new List<MenuItemViewModel>{
                  new MenuItemViewModel{
                    Name="二级菜单"
                  }
                 }
               },
               new MenuItemViewModel
               {
                 Name="一级菜单",
                 Children =  new List<MenuItemViewModel>{
                  new MenuItemViewModel{
                    Name="二级菜单"
                  }
                 }
               }
            };
        }
        public List<MenuItemViewModel> Menus { get; set; }
    }

效果

Menu.BaseStyle