WPF 精修篇 样式继承

原文:WPF 精修篇 样式继承

这个 是新知识 样式可以继承


  1. <Style x:Key="TextBlockStyleBase" TargetType="{x:Type TextBlock}">
  2. <Setter Property="TextWrapping" Value="NoWrap"/>
  3. <Setter Property="TextTrimming" Value="None"/>
  4. <Setter Property="Background" Value="#FF666666"/>
  5. <Setter Property="Foreground" Value="White"/>
  6. </Style>
  7. <Style x:Key="TextBlockStyle1" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource TextBlockStyleBase}">
  8. <Setter Property="Foreground" Value="Red"/>
  9. </Style>
  10. <Style x:Key="TextBlockStyle2" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource TextBlockStyleBase}">
  11. <Setter Property="Background" Value="Brown"/>
  12. <Setter Property="Foreground" Value="Beige"/>
  13. </Style>
  14. </Window.Resources>
  15. <Grid>
  16. <TextBlock HorizontalAlignment="Left" Height="42" Margin="60.5,43,0,0" TextWrapping="Wrap" Text="TextBlockBase" VerticalAlignment="Top" Width="228" Style="{DynamicResource TextBlockStyleBase}"/>
  17. <TextBlock HorizontalAlignment="Left" Height="42" Margin="60,112,0,0" TextWrapping="Wrap" Text="TextBlock1" VerticalAlignment="Top" Width="228" Style="{DynamicResource TextBlockStyle1}"/>
  18. <TextBlock HorizontalAlignment="Left" Height="42" Margin="60,179,0,0" TextWrapping="Wrap" Text="TextBlock2" VerticalAlignment="Top" Width="228" Style="{DynamicResource TextBlockStyle2}"/>
  19. </Grid>

定义了一个主样式 俩个样 用 BasedOn 来继承 修改 或增加 显示不同的效果

原文地址:https://www.cnblogs.com/lonelyxmas/p/12075465.html

时间: 2024-11-09 12:53:50

WPF 精修篇 样式继承的相关文章

WPF 精修篇 获取系统颜色和字体样式

原文:WPF 精修篇 获取系统颜色和字体样式 看效果 <Grid> <Rectangle Fill="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}" HorizontalAlignment="Left" Height="76" Margin="85,70,0,0" Stroke="Black" VerticalAlign

WPF 精修篇 依赖属性

原文:WPF 精修篇 依赖属性 依赖属性使用场景 1. 希望可在样式中设置属性. 2. 希望属性支持数据绑定. 3. 希望可使用动态资源引用设置属性. 4. 希望从元素树中的父元素自动继承属性值. 5. 希望属性可进行动画处理. 6. 希望属性系统在属性系统.环境或用户执行的操作或者读取并使用样式更改了属性以前的值时报告. 7. 希望使用已建立的.WPF 进程也使用的元数据约定,例如报告更改属性值时是否要求布局系统重新编写元素的可视化对象. 依赖属性生成 PropertyMetadata 后面可

WPF 精修篇 属性触发器

原文:WPF 精修篇 属性触发器 属性触发器是通过  某个条件触发改变属性 通过无代码实现功能 <Style TargetType="{x:Type Label}"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="FontSize" Value="30"

WPF 精修篇 静态资源

原文:WPF 精修篇 静态资源 在WPF中 如果设置好了一个控件样式或者矩形样式 如果Copy出一个新的 那么样式也会双份 比如 下面的矩形 我定义好了一个 Copy 以后 就出现一个新的 但是改变样式就会要改变俩次 很麻烦 解决方案  把共同样式 设置成静态资源 <Window.Resources> <LinearGradientBrush x:Key="RectFill" EndPoint="0.5,1" StartPoint="0.

WPF 精修篇 数据绑定 更新通知

原文:WPF 精修篇 数据绑定 更新通知 开始更新一点有意思的了 首先 数据绑定  其中之一 Element 绑定 看例子 <Window x:Class="WpfApplication20.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml

WPF 精修篇 管理资源字典

原文:WPF 精修篇 管理资源字典 样式太多  每个界面可能需要全局的样式 有没有肯能 WPF 中的样式 像Asp.net中 的CSS一样管理那 有的 有资源字典 BurshDictionary <LinearGradientBrush x:Key="RectFill" EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="BurlyWood" O

WPF 精修篇 动态资源

原文:WPF 精修篇 动态资源 动态资源 使用 DynamicResource 关键字 静态 就是 StaticResource 原则上是 能用静态就用静态 动态会让前台界面压力很大~ 动态资源引用 就是可以在后台改变资源 显示不同的样式  资源是一样的 就看关键字用什么 效果 <Window.Resources> <LinearGradientBrush x:Key="RectFill" EndPoint="0.5,1" StartPoint=&

WPF 精修篇 动画组TransformGroup

原文:WPF 精修篇 动画组TransformGroup 动画分组 TransformGroup 一个元素可能要有缩放 ScaleTransform和移动 TranslateTransform等多个效果组合 就需要分组 RenderTransformOrigin 中心点设置 "0.5,0.5" 为中间 在编辑器中  有设置 <Grid> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Widt

WPF 精修篇 拖拽 DragDrop

原文:WPF 精修篇 拖拽 DragDrop WPF 实现拖拽 效果 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="197*"/> <ColumnDefinition Width="209*"/> <ColumnDefinition Width="111*"/> </Grid.ColumnDefinitions&g