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>

相关推荐
Chris _data1 小时前
WPF 上位机开发学习笔记 - 第四天
笔记·学习·wpf
李高钢10 小时前
用 JetBrains Rider 写 WPF 的 15 个高效技巧:从 VS 转过来也值得看
wpf
李高钢1 天前
【WPF】MVVM 与数据绑定实战:从原理到完整项目
wpf
李高钢1 天前
【WPF】从 Avalon 到 .NET 10:WPF 平台演进史与特性全览
.net·wpf
李高钢2 天前
WPF MVVM Light 入门:从零到Hello World
c#·wpf
李高钢2 天前
WPF MVVM Light(三):RelayCommand 命令与 Messenger 消息
前端·c#·wpf
SamChan903 天前
FastAPI+Celery+Redis搭建企业级PDF翻译异步任务系统
redis·后端·python·pdf·wpf·fastapi
李高钢3 天前
C# WPF Prism 进阶(三):导航(Navigation)深入
开发语言·c#·wpf
李高钢4 天前
C# WPF 的 Prism 框架入门:核心概念与一个完整示例
开发语言·c#·wpf
SamChan904 天前
用Playwright端到端测试PDF翻译功能:Web自动化测试实战
前端·python·ai·pdf·wpf