WPF 菜单实现一级二级按钮下拉格式

<Expander Width="240" x:Name="myExpander">

<Expander.Header>

<StackPanel Orientation="Horizontal" >

<TextBlock Text="内容" />

<Image Width="20" Margin="15,0,0,0">

<Image.Style>

<Style TargetType="Image">

<Style.Triggers>

<DataTrigger Binding="{Binding IsExpanded, ElementName=myExpander}" Value="True">

<Setter Property="Source" Value="图片路径1"/>

</DataTrigger>

<DataTrigger Binding="{Binding IsExpanded, ElementName=myExpander}" Value="False">

<Setter Property="Source" Value="图片路径2"/>

</DataTrigger>

</Style.Triggers>

</Style>

</Image.Style>

</Image>

</StackPanel>

</Expander.Header>

<Expander.Template>

<ControlTemplate TargetType="Expander">

<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">

<DockPanel>

<ToggleButton x:Name="HeaderSite" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Header}" ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" DockPanel.Dock="Top"/>

<ContentPresenter x:Name="ExpandSite" DockPanel.Dock="Bottom" Focusable="false" Visibility="Collapsed" Margin="{TemplateBinding Padding}">

<ContentPresenter.LayoutTransform>

<TransformGroup>

<TranslateTransform x:Name="ExpandTranform"/>

</TransformGroup>

</ContentPresenter.LayoutTransform>

</ContentPresenter>

</DockPanel>

</Border>

<ControlTemplate.Triggers>

<Trigger Property="IsExpanded" Value="True">

<Setter Property="Visibility" TargetName="ExpandSite" Value="Visible"/>

</Trigger>

</ControlTemplate.Triggers>

</ControlTemplate>

</Expander.Template>

<StackPanel>

<RadioButton Content="RadioButton按钮" />

</StackPanel>

</Expander>

相关推荐
Macbethad10 小时前
使用WPF编写一个读取串口的程序
wpf
Macbethad2 天前
如何用WPF做工控设置界面
java·开发语言·wpf
csdn_aspnet2 天前
WPF 做一个简单的电子签名板(一)
c#·wpf
玖笙&2 天前
✨WPF编程进阶【7.2】:动画类型(附源码)
c++·c#·wpf·visual studio
·心猿意码·2 天前
WPF中TemplatePart机制详解
wpf
FuckPatience3 天前
WPF 使用UserControl / ContentControl显示子界面
wpf
wangnaisheng4 天前
【WPF】WrapPanel的用法
wpf
源之缘-OFD先行者4 天前
10 万雷达点迹零卡顿回放:WPF + Vortice.Direct2D 多线程渲染实战
wpf
猫林老师4 天前
Flutter for HarmonyOS开发指南(九):测试、调试与质量保障体系
flutter·wpf·harmonyos
LateFrames4 天前
做【秒开】的程序:WPF / WinForm / WinUI3 / Electron
electron·c#·wpf·winform·winui3·claude code