mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-03-02 15:50:49 +08:00
feat: enhance MenuItem icon.
This commit is contained in:
@@ -50,6 +50,22 @@
|
||||
<MenuItem Header="Radio 5" ToggleType="Radio" />
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem Header="_Icon">
|
||||
<MenuItem Header="Nothing" Icon="🐼" />
|
||||
<MenuItem Header="TextBlock">
|
||||
<MenuItem.Icon>
|
||||
<TextBlock Text="🐼" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Geometry" Icon="{StaticResource SemiIconSemiLogo}" />
|
||||
<MenuItem Header="PathIcon">
|
||||
<MenuItem.Icon>
|
||||
<PathIcon
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{DynamicResource SemiIconSemiLogo}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Parent">
|
||||
<MenuItem Header="Child 1" />
|
||||
<MenuItem Header="Child 2" />
|
||||
|
||||
@@ -3,6 +3,28 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converters="using:Avalonia.Controls.Converters"
|
||||
x:CompileBindings="True">
|
||||
<Design.PreviewWith>
|
||||
<StackPanel Width="300" Height="300" Margin="10">
|
||||
<Menu>
|
||||
<MenuItem Header="_Icon">
|
||||
<MenuItem Header="Nothing" Icon="🐼" />
|
||||
<MenuItem Header="TextBlock">
|
||||
<MenuItem.Icon>
|
||||
<TextBlock Text="🐼" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Geometry" Icon="{StaticResource SemiIconSemiLogo}" />
|
||||
<MenuItem Header="PathIcon">
|
||||
<MenuItem.Icon>
|
||||
<PathIcon
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{DynamicResource SemiIconSemiLogo}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
</StackPanel>
|
||||
</Design.PreviewWith>
|
||||
|
||||
<converters:PlatformKeyGestureConverter x:Key="KeyGestureConverter" />
|
||||
|
||||
@@ -136,28 +158,23 @@
|
||||
<ContentControl
|
||||
Name="PART_ToggleIconPresenter"
|
||||
Grid.Column="0"
|
||||
Width="16"
|
||||
Height="16"
|
||||
Margin="{DynamicResource MenuItemIconMargin}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="False" />
|
||||
|
||||
<Viewbox
|
||||
<ContentControl
|
||||
Name="PART_IconPresenter"
|
||||
Grid.Column="1"
|
||||
Width="16"
|
||||
Height="16"
|
||||
Margin="{DynamicResource MenuItemIconMargin}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
IsVisible="False"
|
||||
Stretch="Uniform">
|
||||
<ContentPresenter
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Content="{TemplateBinding Icon}" />
|
||||
</Viewbox>
|
||||
Content="{TemplateBinding Icon}"
|
||||
IsVisible="{TemplateBinding Icon, Converter={x:Static ObjectConverters.IsNotNull}}">
|
||||
<ContentControl.DataTemplates>
|
||||
<DataTemplate DataType="Geometry">
|
||||
<PathIcon
|
||||
Theme="{StaticResource InnerPathIcon}"
|
||||
Data="{Binding}" />
|
||||
</DataTemplate>
|
||||
</ContentControl.DataTemplates>
|
||||
</ContentControl>
|
||||
|
||||
<ContentPresenter
|
||||
Name="PART_HeaderPresenter"
|
||||
@@ -220,9 +237,6 @@
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
|
||||
<Style Selector="^:icon /template/ Viewbox#PART_IconPresenter">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="^:selected">
|
||||
<Style Selector="^ /template/ Border#PART_LayoutRoot">
|
||||
|
||||
Reference in New Issue
Block a user