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>

相关推荐
天才奇男子14 小时前
LVS原理及部署
linux·运维·云原生·wpf·lvs·linux chrony
予枫的编程笔记16 小时前
【Redis实战进阶篇1】Redis 分布式锁:从手写实现到 Redisson 最佳实践
redis·分布式·wpf
小北方城市网2 天前
Spring Cloud Gateway 生产级实践:高可用架构、灰度发布与故障排查
spring boot·redis·分布式·缓存·架构·wpf
ujainu2 天前
Flutter for OpenHarmonyOS 前置知识:Dart语言详解(下)
flutter·wpf·harmonyos
bugcome_com2 天前
WPF 数据模板(DataTemplate):优雅实现数据与 UI 的解耦
ui·wpf
小北方城市网2 天前
Redis 分布式锁与缓存三大问题解决方案
spring boot·redis·分布式·后端·缓存·wpf·mybatis
Aevget3 天前
DevExpress WPF中文教程:Data Grid - 如何绑定到有限制的自定义服务(五)?
wpf
yangSnowy3 天前
Redis数据类型
数据库·redis·wpf
资深web全栈开发3 天前
分布式锁的陷阱:Redlock 真的安全吗?
分布式·安全·wpf
James.TCG3 天前
VM访问View(Interaction)
wpf