AvaloniaMenuPanel.axaml 1.5 KB

1234567891011121314151617181920212223242526272829303132
  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. Margin="7"
  15. HorizontalAlignment="Center"
  16. VerticalAlignment="Center"
  17. Command="{Binding TapCommand}"
  18. ContextMenu="{Binding ContextMenu}"
  19. IsVisible="{Binding IsVisible}">
  20. <Image
  21. Source="{Binding Image}" />
  22. </Button>
  23. </DataTemplate>
  24. </UserControl.Resources>
  25. <ItemsControl
  26. DataContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType = components:AvaloniaMenuPanel}}"
  27. ItemsSource="{Binding Items.Items}"
  28. ItemTemplate="{StaticResource MenuPanelItemItemplate}"
  29. ItemsPanel="{StaticResource HorizontalItemsPanelTemplate}" />
  30. </UserControl>