92 lines
4.0 KiB
XML
92 lines
4.0 KiB
XML
<UserControl
|
|
x:Class="Ursa.Demo.Pages.NavMenuDemo"
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:u="https://irihi.tech/ursa"
|
|
xmlns:vm="using:Ursa.Demo.ViewModels"
|
|
xmlns:converters="clr-namespace:Ursa.Demo.Converters"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
x:CompileBindings="True"
|
|
x:DataType="vm:NavMenuDemoViewModel"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
<converters:IconNameToPathConverter x:Key="IconConverter"/>
|
|
</UserControl.Resources>
|
|
<Grid ColumnDefinitions="Auto, Auto" RowDefinitions="Auto, Auto, *" HorizontalAlignment="Left">
|
|
<ToggleButton Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Name="collapse">Collapse</ToggleButton>
|
|
<TextBlock Grid.Row="1" Grid.Column="0" Text="{ReflectionBinding #menu.SelectedItem.Header}" />
|
|
<Border Grid.Row="2" Grid.Column="0" Theme="{DynamicResource CardBorder}" HorizontalAlignment="Left" Padding="0">
|
|
<u:NavMenu
|
|
Header="Hello Ursa"
|
|
Name="menu"
|
|
HeaderBinding="{Binding Header}"
|
|
IconBinding="{Binding IconIndex}"
|
|
IsHorizontalCollapsed="{Binding #collapse.IsChecked, Mode=OneWay}"
|
|
ItemsSource="{Binding MenuItems}"
|
|
SubMenuBinding="{Binding Children}">
|
|
<u:NavMenu.IconTemplate>
|
|
<DataTemplate DataType="{x:Type x:Int32}">
|
|
<u:TwoTonePathIcon
|
|
Width="16"
|
|
Height="16"
|
|
Data="{Binding Converter={StaticResource IconConverter}}"
|
|
StrokeBrush="{DynamicResource SemiGrey5}"
|
|
Foreground="{DynamicResource SemiGrey5}"
|
|
ActiveStrokeBrush="{DynamicResource SemiBlue5}"
|
|
ActiveForeground="{DynamicResource SemiBlue5}"
|
|
IsActive="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=u:NavMenuItem}, Path=IsHighlighted, Mode=TwoWay}">
|
|
</u:TwoTonePathIcon>
|
|
</DataTemplate>
|
|
</u:NavMenu.IconTemplate>
|
|
<u:NavMenu.Footer>
|
|
<Button>Collapse</Button>
|
|
</u:NavMenu.Footer>
|
|
</u:NavMenu>
|
|
</Border>
|
|
<TextBlock Grid.Row="1" Grid.Column="1" Text="{ReflectionBinding #menu2.SelectedItem.Header}"></TextBlock>
|
|
<u:NavMenu Grid.Row="2" Grid.Column="1" Name="menu2" IsHorizontalCollapsed="{Binding #collapse.IsChecked}">
|
|
<u:NavMenuItem Header="Menu 1">
|
|
<u:NavMenuItem.Icon>
|
|
<Rectangle
|
|
Width="10"
|
|
Height="10"
|
|
Fill="Red" />
|
|
</u:NavMenuItem.Icon>
|
|
<u:NavMenuItem Header="Sub Menu 1"></u:NavMenuItem>
|
|
<u:NavMenuItem Header="Sub Menu 2"></u:NavMenuItem>
|
|
<u:NavMenuItem Header="Sub Menu 3"></u:NavMenuItem>
|
|
</u:NavMenuItem>
|
|
<u:NavMenuItem Header="Menu 2">
|
|
<u:NavMenuItem.Icon>
|
|
<Rectangle
|
|
Width="10"
|
|
Height="10"
|
|
Fill="Red" />
|
|
</u:NavMenuItem.Icon>
|
|
</u:NavMenuItem>
|
|
<u:NavMenuItem Header="Menu 3">
|
|
<u:NavMenuItem.Icon>
|
|
<Rectangle
|
|
Width="10"
|
|
Height="10"
|
|
Fill="Red" />
|
|
</u:NavMenuItem.Icon>
|
|
</u:NavMenuItem>
|
|
</u:NavMenu>
|
|
<StackPanel HorizontalAlignment="Left">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</StackPanel>
|
|
</Grid>
|
|
</UserControl>
|