AvaloniaMenuPanel.axaml 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:components="clr-namespace:InABox.Avalonia.Components"
  6. mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
  7. x:Class="InABox.Avalonia.Components.AvaloniaMenuPanel"
  8. x:DataType="components:AvaloniaMenuPanel">
  9. <UserControl.Resources>
  10. <DataTemplate x:Key="MenuPanelItemItemplate" x:DataType="components:AvaloniaMenuItem">
  11. <Button
  12. Classes="Transparent"
  13. Padding="0"
  14. HorizontalAlignment="Center"
  15. VerticalAlignment="Center"
  16. Command="{Binding TapCommand}"
  17. ContextMenu="{Binding ContextMenu}"
  18. IsVisible="{Binding IsVisible}">
  19. <Image
  20. Source="{Binding Image}" />
  21. </Button>
  22. </DataTemplate>
  23. </UserControl.Resources>
  24. <ItemsControl
  25. DataContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType = components:AvaloniaMenuPanel}}"
  26. ItemsSource="{Binding Items.Items}"
  27. ItemTemplate="{StaticResource MenuPanelItemItemplate}"
  28. ItemsPanel="{StaticResource HorizontalItemsPanelTemplate}" />
  29. </UserControl>