求教wpf中的Expander的 header修改

问题描述

怎么改变Expander的头部分,就是他的头都由自己用图片拼成不同的样式可以吗,希望诸位能帮帮忙,给个小Dome看看也行的,谢谢了。

解决方案

解决方案二:
MSDN有现成的例子[code=XAML]<!--<SnippetExpander>--><ControlTemplatex:Key="ExpanderToggleButton"TargetType="ToggleButton"><BorderName="Border"CornerRadius="2,0,0,0"Background="Transparent"BorderBrush="{StaticResourceNormalBorderBrush}"BorderThickness="0,0,1,0"><PathName="Arrow"Fill="{StaticResourceGlyphBrush}"HorizontalAlignment="Center"VerticalAlignment="Center"Data="M00L44L80Z"/></Border><ControlTemplate.Triggers><TriggerProperty="ToggleButton.IsMouseOver"Value="true"><SetterTargetName="Border"Property="Background"Value="{StaticResourceDarkBrush}"/></Trigger><TriggerProperty="IsPressed"Value="true"><SetterTargetName="Border"Property="Background"Value="{StaticResourcePressedBrush}"/></Trigger><TriggerProperty="IsChecked"Value="true"><SetterTargetName="Arrow"Property="Data"Value="M04L40L84Z"/></Trigger><TriggerProperty="IsEnabled"Value="False"><SetterTargetName="Border"Property="Background"Value="{StaticResourceDisabledBackgroundBrush}"/><SetterTargetName="Border"Property="BorderBrush"Value="{StaticResourceDisabledBorderBrush}"/><SetterProperty="Foreground"Value="{StaticResourceDisabledForegroundBrush}"/><SetterTargetName="Arrow"Property="Fill"Value="{StaticResourceDisabledForegroundBrush}"/></Trigger></ControlTemplate.Triggers></ControlTemplate><StyleTargetType="Expander"><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="Expander"><Grid><Grid.RowDefinitions><RowDefinitionHeight="Auto"/><RowDefinitionName="ContentRow"Height="0"/></Grid.RowDefinitions><BorderName="Border"Grid.Row="0"Background="{StaticResourceLightBrush}"BorderBrush="{StaticResourceNormalBorderBrush}"BorderThickness="1"CornerRadius="2,2,0,0"><Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="20"/><ColumnDefinitionWidth="*"/></Grid.ColumnDefinitions><ToggleButtonIsChecked="{BindingPath=IsExpanded,Mode=TwoWay,RelativeSource={RelativeSourceTemplatedParent}}"OverridesDefaultStyle="True"Template="{StaticResourceExpanderToggleButton}"Background="{StaticResourceNormalBrush}"/><ContentPresenterGrid.Column="1"Margin="4"ContentSource="Header"RecognizesAccessKey="True"/></Grid></Border><BorderName="Content"Grid.Row="1"Background="{StaticResourceWindowBackgroundBrush}"BorderBrush="{StaticResourceSolidBorderBrush}"BorderThickness="1,0,1,1"CornerRadius="0,0,2,2"><ContentPresenterMargin="4"/></Border></Grid><ControlTemplate.Triggers><TriggerProperty="IsExpanded"Value="True"><SetterTargetName="ContentRow"Property="Height"Value="{BindingElementName=Content,Path=DesiredHeight}"/></Trigger><TriggerProperty="IsEnabled"Value="False"><SetterTargetName="Border"Property="Background"Value="{StaticResourceDisabledBackgroundBrush}"/><SetterTargetName="Border"Property="BorderBrush"Value="{StaticResourceDisabledBorderBrush}"/><SetterProperty="Foreground"Value="{StaticResourceDisabledForegroundBrush}"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style>[/code]
解决方案三:
学习

时间: 2024-10-25 21:51:48

求教wpf中的Expander的 header修改的相关文章

wpf-Wpf 中在listview的header部位双击 怎么禁止改变列宽

问题描述 Wpf 中在listview的header部位双击 怎么禁止改变列宽 列与列之间的分隔部分双击 会自动调整宽度 这个功能怎么禁止

WPF中动态添加控件

问题描述 前提:在VS2008中用WPF(XAML)开打Window窗体内容:如何实现动态添加控件,比如动态添加3列,第一列是ComboBox,第二列是ComboBox,第三列是图片Button(这列你们可以不用关心,我用的是模板)我的思路是在ListView中实现,代码如下XAML的代码:<ListViewGrid.Row="3"Margin="0,5,0,0"Name="lvSelEdit"ItemContainerStyle=&quo

WPF中反转3D列表项

记得在苹果电脑中有一个很酷的3D旋转效果, 它可以将某项的正反面进行反转, 在WPF中可以很轻松地做到该效果. 点击查看 : http://www.interact-sw.co.uk/wpfapps/FlipList.xaml 也可以粘贴此代码XamlPad中查看: <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:s="clr-namespace:System;a

WPF中TreeView.BringIntoView方法的替代方案

WPF中TreeView.BringIntoView()方法并不是那么地好用,不少时候会没有效果,这里有一个替代方案,调用SelectItem()方法可以展开并呈现TreeView上指定的Item: public static class TreeViewHelper { /// <summary> /// Expands all children of a TreeView /// </summary> /// <param name="treeView"

WPF中StringFormat 格式化 的用法

原文 WPF中StringFormat 格式化 的用法 网格用法   <my:DataGridTextColumn x:Name="PerformedDate" Header="执行时间" Binding="{Binding PerformedDate,StringFormat='yyyy年MM月dd日'}" Width="100" />                        <my:DataGrid

MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件

原文  MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件 UI 前沿技术 WPF 中的多点触控操作事件 Charles Petzold 下载代码示例 就在过去几年,多点触控还只是科幻电影中表现未来主义的一种重要手法,现在俨然已经成为主流的用户界面技术. 多点触控显示屏现在成了新型智能手机和 Tablet 计算机的标准显示屏. 此外,它还可能在公共场所的计算机上普及,例如 Microsoft Surface 率先开发的网亭或桌面计算机. 实际存在的唯一不确定因素是多点触控在常规台式

数据-求教啊?用织梦dedecms修改后台系统基本参数时出现页面布局乱了

问题描述 求教啊?用织梦dedecms修改后台系统基本参数时出现页面布局乱了 哪位高手能给指点一下吗?本人新手最近用dedecms在已建好的模板上修改,但是修改系统基本参数或者对应的数据库表中数据时网页布局就会乱掉,而且{dede:}标签在调用数据库表中数据时有的不能正常调用,为什么啊?是原作者做了什么权限吗? 解决方案 这个看你修改的基本参数是哪一些基本参数了,乱改肯定会出问题

GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件

GMap.NET是什么? 来看看它的官方说明:GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding, directions and maps from Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yendux, Mapy.cz, Maps.lt, iKart

WPF中MVVM模式原理分析与实践[转]

1, 前提 可以说MVVM是专为WPF打造的模式, 也可以说MVVM仅仅是MVC的一个变种, 但无论如何, 就实践而言, 如果你或你的团队没有使用"Binding"的习惯, 那么研究MVVM就没有多大意义. 另外,个人觉得, 使用Command以及打造一种合理的简化的方式去使用Command也与使用Binding一样重要. 2, 诞生 为了解决现实世界中的问题,我们需要将现实世界中的事物加以抽象, 然后得到了Domain Object, 无论贫血的还是富血的, 我们都可以简单地把他们归