WPF Expander控件简单样式

样式代码:

<Style x:Key="ExpanderStyle1" TargetType="{x:Type Expander}"><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/><Setter Property="Background" Value="Transparent"/><Setter Property="BorderBrush" Value="#918C8C"/><Setter Property="BorderThickness" Value="0 0 0 0"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Expander}"><Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" SnapsToDevicePixels="True"><DockPanel><ToggleButton x:Name="HeaderSite" ContentTemplate="{TemplateBinding HeaderTemplate}"Content="{TemplateBinding Header}" DockPanel.Dock="Top" Foreground="{TemplateBinding Foreground}"FontWeight="{TemplateBinding FontWeight}" FontStyle="{TemplateBinding FontStyle}"FontStretch="{TemplateBinding FontStretch}" FontSize="{TemplateBinding FontSize}"FontFamily="{TemplateBinding FontFamily}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"Margin="1" MinWidth="0" MinHeight="0" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"><ToggleButton.FocusVisualStyle><Style><Setter Property="Control.Template"><Setter.Value><ControlTemplate><Border><Rectangle Margin="0" SnapsToDevicePixels="True" Stroke="Black" StrokeThickness="1" StrokeDashArray="1 2"/></Border></ControlTemplate></Setter.Value></Setter></Style></ToggleButton.FocusVisualStyle><ToggleButton.Style><Style TargetType="{x:Type ToggleButton}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ToggleButton}"><Border Padding="{TemplateBinding Padding}"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="19*"/></Grid.ColumnDefinitions><Path Grid.Column="0" x:Name="arrow" Data="M1,1.5L4.5,5 8,1.5" HorizontalAlignment="Right"  SnapsToDevicePixels="False" Stroke="#918C8C" StrokeThickness="2" VerticalAlignment="Center" Height="10" Margin="0,10" /><ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" HorizontalAlignment="Left" Margin="4,0,0,0" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"  /></Grid></Border><ControlTemplate.Triggers><Trigger Property="IsChecked" Value="True"><Setter Property="Data" TargetName="arrow" Value="M1,4.5L4.5,1 8,4.5"/></Trigger><Trigger Property="IsMouseOver" Value="True"><Setter Property="Stroke" TargetName="arrow" Value="Black"/></Trigger><Trigger Property="IsPressed" Value="True"><Setter Property="Stroke" TargetName="arrow" Value="Black"/></Trigger><Trigger Property="IsEnabled" Value="False"><Setter Property="Stroke" TargetName="arrow" Value="#FF707070"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style></ToggleButton.Style></ToggleButton><ContentPresenter x:Name="ExpandSite" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" DockPanel.Dock="Bottom" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Visibility="Collapsed" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></DockPanel></Border><ControlTemplate.Triggers><Trigger Property="IsExpanded" Value="True"><Setter Property="Visibility" TargetName="ExpandSite" Value="Visible"/></Trigger><Trigger Property="IsEnabled" Value="False"><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style>

使用方式:

<Grid><Expander Width="200" ExpandDirection="Down"  SnapsToDevicePixels="True" VerticalAlignment="Top" Style="{DynamicResource ExpanderStyle1}"><Expander.Header><StackPanel Orientation="Horizontal"><TextBlock Text="hello" FontSize="22" Foreground="#918C8C" VerticalAlignment="Center"></TextBlock><TextBlock FontSize="25" Text="首页" Margin="8,0,-51,0"  Foreground="#918C8C" ></TextBlock></StackPanel></Expander.Header><Expander.Content><StackPanel Background="#F6F8F8"><RadioButton >控制中心</RadioButton><RadioButton >资源管理</RadioButton><RadioButton >仪表菜单</RadioButton><RadioButton >顶部导航</RadioButton><RadioButton >通知中心</RadioButton><RadioButton >蓝牙设置</RadioButton></StackPanel></Expander.Content></Expander></Grid>

WPF Expander控件简单样式相关推荐

  1. WPF Expander控件使用

    WPF Expander控件使用 xaml代码: <Window x:Class="WpfApp5.MainWindow"xmlns="http://schemas ...

  2. expander菜单控件_《WPF》Expander控件简单美化

    示例图: Expander控件功能很常见, 一般用于系统左侧的菜单收缩面板. 1.主要的组成 一个头部(header) 和 一个 内容(content) 组成. 控制中心 资源管理 仪表菜单 顶部导航 ...

  3. WPF——Expander控件(转)

    Expander是一个可以展开和折叠的控件,它包含两部分标头和内容. 标头通Header属性来设置,内容通过Conent属性设置,如下面一个简单的例子: Expander ExpandDirectio ...

  4. C# wpf Expander控件的简单应用(7)

    测试 可以通过ExpandDirection属性可控制其展开方向.

  5. WPF 表格控件 ReoGrid 的简单使用

    WPF 表格控件 ReoGrid 的简单使用 目录 一.概述 二.安装 三.添加控件 四.加载 Excel 五.属性设置 六.支持触摸滚动 七.其它操作 1.显示和隐藏列 2.显示特定字体 八.资源链 ...

  6. WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展

    原文:WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐 ...

  7. 【C#】wpf自定义calendar日期选择控件的样式

    原文:[C#]wpf自定义calendar日期选择控件的样式 首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现 首先上图,看下样式 原理 ...

  8. WPF DataGrid控件样式

    WPF DataGrid控件样式 <DataGrid ItemsSource="{Binding ProductsList}" AutoGenerateColumns=&qu ...

  9. WPF 控件专题 Expander控件详解

    1.Expander介绍 Expander控件显示具有可折叠内容显示窗口的标题.是一个可以展开和折叠的控件,它包含两部分--标头和内容. 控件不会自动提供 Expander 滚动功能:如果展开窗口的内 ...

最新文章

  1. 关于acm的新手一些问题
  2. PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath settin
  3. 服务器更改文件夹权限,云服务器如何修改文件权限
  4. 关于Spring Boot你不得不知道的事
  5. P1171 售货员的难题--搜索(剪枝)
  6. 【设计模式】软件设计七大原则 ( 依赖倒置原则 | 代码示例 )
  7. 一篇详文带你入门 Redis
  8. dorado-SplitSpanel控件
  9. signals系列之一——基本用法
  10. oracle定时关闭job,Oracle job定时操作
  11. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型(CSOM)基础...
  12. 云运维管家服务器,云平台随身管理-我的“运维管家”
  13. SVM支持向量机原理总结
  14. PR-Place-performing Placement and Optimization-1
  15. [c++]巧用stl库-啤酒与尿布
  16. 名帖325 启功 行书《行书帖选》
  17. 什么是Portable Version?
  18. PeckShield宣布与IOST达成全球战略合作
  19. 解锁oracle中的scott用户,Oracle 解锁scott用户
  20. Matlab绘制各种小波函数及尺度函数图

热门文章

  1. 2017 我的第一篇个人博客
  2. 荣耀电脑微软服务器,荣耀与微软签署全球 PC 合作协议:Win10 成荣耀笔记本电脑官方操作系统...
  3. Java中的过滤器和拦截器
  4. 【整理】Python 单元测试框架 - PyUnit
  5. 最新kali之ike-scan
  6. form-data x-www-form-urlencoded raw binary说明
  7. C++ =default
  8. 疫情过后,互联网会迎来新的拐点,新一批人将崛起!
  9. 什么是量比(急跌无量是恐吓,缓跌放量赶紧撤)
  10. 为7.23温州动车事故遇难者默哀!!