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 _data4 天前
WPF 学习第三天 — Modbus RTU 串口通信
hadoop·学习·wpf
布吉岛的石头5 天前
Java 程序员第 43 阶段05:微服务整合大模型,跨服务调用架构设计实战,Seata分布式事务实战
wpf
步步为营DotNet5 天前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
芒鸽5 天前
HarmonyOS 分布式开发实战:设备协同、数据共享与跨设备迁移
分布式·wpf·harmonyos
Volunteer Technology5 天前
Flink状态管理与容错(二)
大数据·flink·wpf
happyprince6 天前
07_verl-Trainer模块详解
人工智能·架构·wpf·强化学习
bugcome_com6 天前
WPF + Prism 技术指南与实战项目(二、模板搭建)
wpf
小满Autumn6 天前
log4net 日志框架 — 从配置到实战速查手册
笔记·c#·.net·wpf·上位机·log4net
政沅同学7 天前
基于 C# WPF + HALCON 的工业视觉算法工具框架(开源)
开发语言·c#·wpf
happyprince7 天前
03_verl-设计理念与核心原理
wpf