MenuPage.xaml 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:viewModels="using:ControlCatalog.ViewModels"
  4. x:Class="ControlCatalog.Pages.MenuPage"
  5. x:DataType="viewModels:MenuPageViewModel">
  6. <StackPanel Orientation="Vertical" Spacing="4">
  7. <TextBlock Classes="h2">Exported menu fallback</TextBlock>
  8. <TextBlock>(Should be only visible on platforms without desktop-global menu bar)</TextBlock>
  9. <NativeMenuBar/>
  10. <TextBlock Classes="h2">A window menu</TextBlock>
  11. <WrapPanel HorizontalAlignment="Center">
  12. <StackPanel>
  13. <TextBlock Classes="h3" Margin="4 8">Defined in XAML</TextBlock>
  14. <Menu>
  15. <MenuItem Header="_First">
  16. <MenuItem Header="Standard _Menu Item" InputGesture="Ctrl+A" />
  17. <MenuItem Header="_Disabled Menu Item" IsEnabled="False" InputGesture="Ctrl+D" />
  18. <Separator/>
  19. <MenuItem Header="Menu with _Submenu">
  20. <MenuItem Header="Submenu _1"/>
  21. <MenuItem Header="Submenu _2 with Submenu">
  22. <MenuItem Header="Submenu Level 2" />
  23. </MenuItem>
  24. <MenuItem Header="Submenu _3 with Submenu Disabled" IsEnabled="False">
  25. <MenuItem Header="Submenu Level 2" />
  26. </MenuItem>
  27. </MenuItem>
  28. <MenuItem Header="Menu Item with _Icon" InputGesture="Ctrl+Shift+B">
  29. <MenuItem.Icon>
  30. <Image Source="/Assets/github_icon.png"/>
  31. </MenuItem.Icon>
  32. </MenuItem>
  33. <MenuItem Header="Menu Item with _Checkbox">
  34. <MenuItem.Icon>
  35. <CheckBox BorderThickness="0" IsHitTestVisible="False" IsChecked="True"/>
  36. </MenuItem.Icon>
  37. </MenuItem>
  38. </MenuItem>
  39. <MenuItem Header="_Second">
  40. <MenuItem Header="Second _Menu Item"/>
  41. </MenuItem>
  42. </Menu>
  43. </StackPanel>
  44. <StackPanel>
  45. <TextBlock Classes="h3" Margin="4 8">Dyanamically generated</TextBlock>
  46. <Menu Items="{Binding MenuItems}">
  47. <Menu.Styles>
  48. <Style Selector="MenuItem" x:DataType="viewModels:MenuItemViewModel">
  49. <Setter Property="Header" Value="{Binding Header}"/>
  50. <Setter Property="Items" Value="{Binding Items}"/>
  51. <Setter Property="Command" Value="{Binding Command}"/>
  52. <Setter Property="CommandParameter" Value="{Binding CommandParameter}"/>
  53. </Style>
  54. </Menu.Styles>
  55. </Menu>
  56. </StackPanel>
  57. <StackPanel>
  58. <TextBlock Classes="h3" Margin="4 8">Mixed</TextBlock>
  59. <Menu>
  60. <MenuItem Header="_File">
  61. <MenuItem Header="_New" CommandParameter="{Binding}" InputGesture="Ctrl+N"/>
  62. <Separator/>
  63. <MenuItem Header="_Open..." InputGesture="Ctrl+O"/>
  64. <Separator/>
  65. <MenuItem Header="Execu_te Script..." />
  66. <Separator/>
  67. <MenuItem Header="_Recent" Items="{Binding RecentItems}">
  68. <MenuItem.Styles>
  69. <Style Selector="MenuItem" x:DataType="viewModels:MenuItemViewModel">
  70. <Setter Property="Header" Value="{Binding Header}"/>
  71. </Style>
  72. </MenuItem.Styles>
  73. </MenuItem>
  74. <Separator/>
  75. <MenuItem Header="E_xit" InputGesture="Alt+F4"/>
  76. </MenuItem>
  77. <MenuItem Header="_Help">
  78. <MenuItem Header="_About"/>
  79. </MenuItem>
  80. </Menu>
  81. </StackPanel>
  82. </WrapPanel>
  83. </StackPanel>
  84. </UserControl>