WIP: inherit binding from root.

This commit is contained in:
rabbitism
2024-02-12 12:12:36 +08:00
parent 0a3dcf0d8c
commit bc9412aad2
5 changed files with 184 additions and 36 deletions

View File

@@ -1,27 +1,54 @@
<UserControl 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"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Ursa.Demo.Pages.NavMenuDemo">
<u:NavMenu Name="menu">
<u:NavMenuItem Header="Menu 1">
<u:NavMenuItem.Icon>
<Rectangle Width="10" Height="10" Fill="Red"></Rectangle>
</u:NavMenuItem.Icon>
</u:NavMenuItem>
<u:NavMenuItem Header="Menu 2">
<u:NavMenuItem.Icon>
<Rectangle Width="20" Height="10" Fill="Red"></Rectangle>
</u:NavMenuItem.Icon>
</u:NavMenuItem>
<u:NavMenuItem Header="Menu 3">
<u:NavMenuItem.Icon>
<Rectangle Width="30" Height="10" Fill="Red"></Rectangle>
</u:NavMenuItem.Icon>
</u:NavMenuItem>
<u:Divider Content="Divider"></u:Divider>
<TextBlock Text="{Binding #menu.SelectedItem}"></TextBlock>
</u:NavMenu>
<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"
d:DesignHeight="450"
d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:NavMenuDemoViewModel"
mc:Ignorable="d">
<StackPanel>
<u:NavMenu>
<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="20"
Height="10"
Fill="Red" />
</u:NavMenuItem.Icon>
</u:NavMenuItem>
<u:NavMenuItem Header="Menu 3">
<u:NavMenuItem.Icon>
<Rectangle
Width="30"
Height="10"
Fill="Red" />
</u:NavMenuItem.Icon>
</u:NavMenuItem>
</u:NavMenu>
<u:Divider Content="Divider" />
<TextBlock Text="{ReflectionBinding #menu.SelectedItem.Header}" />
<u:NavMenu
Name="menu"
ItemsSource="{Binding MenuItems}"
HeaderBinding="{Binding Header}"
SubMenuBinding="{Binding Children}"
IconBinding="{Binding Header}"/>
</StackPanel>
</UserControl>