WPF Expander控件简单样式
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控件简单样式相关推荐
- WPF Expander控件使用
WPF Expander控件使用 xaml代码: <Window x:Class="WpfApp5.MainWindow"xmlns="http://schemas ...
- expander菜单控件_《WPF》Expander控件简单美化
示例图: Expander控件功能很常见, 一般用于系统左侧的菜单收缩面板. 1.主要的组成 一个头部(header) 和 一个 内容(content) 组成. 控制中心 资源管理 仪表菜单 顶部导航 ...
- WPF——Expander控件(转)
Expander是一个可以展开和折叠的控件,它包含两部分标头和内容. 标头通Header属性来设置,内容通过Conent属性设置,如下面一个简单的例子: Expander ExpandDirectio ...
- C# wpf Expander控件的简单应用(7)
测试 可以通过ExpandDirection属性可控制其展开方向.
- WPF 表格控件 ReoGrid 的简单使用
WPF 表格控件 ReoGrid 的简单使用 目录 一.概述 二.安装 三.添加控件 四.加载 Excel 五.属性设置 六.支持触摸滚动 七.其它操作 1.显示和隐藏列 2.显示特定字体 八.资源链 ...
- WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展
原文:WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐 ...
- 【C#】wpf自定义calendar日期选择控件的样式
原文:[C#]wpf自定义calendar日期选择控件的样式 首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现 首先上图,看下样式 原理 ...
- WPF DataGrid控件样式
WPF DataGrid控件样式 <DataGrid ItemsSource="{Binding ProductsList}" AutoGenerateColumns=&qu ...
- WPF 控件专题 Expander控件详解
1.Expander介绍 Expander控件显示具有可折叠内容显示窗口的标题.是一个可以展开和折叠的控件,它包含两部分--标头和内容. 控件不会自动提供 Expander 滚动功能:如果展开窗口的内 ...
最新文章
- 关于acm的新手一些问题
- PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath settin
- 服务器更改文件夹权限,云服务器如何修改文件权限
- 关于Spring Boot你不得不知道的事
- P1171 售货员的难题--搜索(剪枝)
- 【设计模式】软件设计七大原则 ( 依赖倒置原则 | 代码示例 )
- 一篇详文带你入门 Redis
- dorado-SplitSpanel控件
- signals系列之一——基本用法
- oracle定时关闭job,Oracle job定时操作
- BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型(CSOM)基础...
- 云运维管家服务器,云平台随身管理-我的“运维管家”
- SVM支持向量机原理总结
- PR-Place-performing Placement and Optimization-1
- [c++]巧用stl库-啤酒与尿布
- 名帖325 启功 行书《行书帖选》
- 什么是Portable Version?
- PeckShield宣布与IOST达成全球战略合作
- 解锁oracle中的scott用户,Oracle 解锁scott用户
- Matlab绘制各种小波函数及尺度函数图