MenuPage.xaml 5.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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" ToggleType="CheckBox" />
  34. </MenuItem>
  35. <MenuItem Header="_Second">
  36. <MenuItem Header="Second _Menu Item"/>
  37. <MenuItem IsChecked="True" Header="Second _Menu toggle item" ToggleType="CheckBox" />
  38. <Separator/>
  39. <MenuItem GroupName="A" Header="Radio 1 - group" ToggleType="Radio" />
  40. <MenuItem IsChecked="True" GroupName="A" Header="Radio 2 - group" ToggleType="Radio" />
  41. <MenuItem GroupName="A" Header="Radio 3 - group" ToggleType="Radio">
  42. <MenuItem Header="Radio 4 - group" ToggleType="Radio" GroupName="A" />
  43. <MenuItem Header="Radio 5 - group" ToggleType="Radio" GroupName="A" />
  44. </MenuItem>
  45. <Separator/>
  46. <MenuItem Header="Radio 1" ToggleType="Radio" />
  47. <MenuItem IsChecked="True" Header="Radio 2" ToggleType="Radio" />
  48. <MenuItem Header="Radio 3" ToggleType="Radio">
  49. <MenuItem Header="Radio 4" ToggleType="Radio" />
  50. <MenuItem Header="Radio 5" ToggleType="Radio" />
  51. </MenuItem>
  52. </MenuItem>
  53. </Menu>
  54. </StackPanel>
  55. <StackPanel>
  56. <TextBlock Classes="h3" Margin="4 8">Dyanamically generated</TextBlock>
  57. <Menu ItemsSource="{Binding MenuItems}">
  58. <Menu.Styles>
  59. <Style Selector="MenuItem" x:DataType="viewModels:MenuItemViewModel">
  60. <Setter Property="Header" Value="{Binding Header}"/>
  61. <Setter Property="ItemsSource" Value="{Binding Items}"/>
  62. <Setter Property="Command" Value="{Binding Command}"/>
  63. <Setter Property="CommandParameter" Value="{Binding CommandParameter}"/>
  64. </Style>
  65. </Menu.Styles>
  66. </Menu>
  67. </StackPanel>
  68. <StackPanel>
  69. <TextBlock Classes="h3" Margin="4 8">Mixed</TextBlock>
  70. <Menu>
  71. <MenuItem Header="_File">
  72. <MenuItem Header="_New" CommandParameter="{Binding}" InputGesture="Ctrl+N"/>
  73. <Separator/>
  74. <MenuItem Header="_Open..." InputGesture="Ctrl+O"/>
  75. <Separator/>
  76. <MenuItem Header="Execu_te Script..." />
  77. <Separator/>
  78. <MenuItem Header="_Recent" ItemsSource="{Binding RecentItems}">
  79. <MenuItem.Styles>
  80. <Style Selector="MenuItem" x:DataType="viewModels:MenuItemViewModel">
  81. <Setter Property="Header" Value="{Binding Header}"/>
  82. </Style>
  83. </MenuItem.Styles>
  84. </MenuItem>
  85. <Separator/>
  86. <MenuItem Header="E_xit" InputGesture="Alt+F4"/>
  87. </MenuItem>
  88. <MenuItem Header="_Help">
  89. <MenuItem Header="_About"/>
  90. </MenuItem>
  91. </Menu>
  92. </StackPanel>
  93. </WrapPanel>
  94. </StackPanel>
  95. </UserControl>