WPF样式
2024-08-24 20:01:05
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:UC="clr-namespace:WpfApplication1"
xmlns:UC1="clr-namespace:WpfControlLibrary1;assembly=WpfControlLibrary1"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<!--
Button控件样式
-->
<Style TargetType="Button">
<Setter Property="Background" Value="Pink"/>
<Setter Property="FontSize" Value="22"/>
</Style>
<!--
XAML的Class
-->
<Style x:Key="mystyle" TargetType="ContentControl">
<Setter Property="Background" Value="Peru"/>
<Setter Property="FontSize" Value="30"/>
</Style> <!--
继承mystyle
-->
<Style x:Key="mystyle2" TargetType="ContentControl" BasedOn="{StaticResource ResourceKey=mystyle}">
<!--覆盖基类样式-->
<Setter Property="Background" Value="Red" />
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Content="Button" Grid.Row="0"/>
<Button Style="{StaticResource ResourceKey=mystyle}"
Content="XAML的Class" Grid.Row="1"/>
<Button Style="{StaticResource ResourceKey=mystyle2}"
Content="样式的继承mystyle" Grid.Row="2"/>
<Button Content="Button嵌入样式" Grid.Row="3">
<Button.Resources>
<Style TargetType="Button" >
<Setter Property="Background" Value="Coral"></Setter>
</Style>
</Button.Resources>
</Button>
</Grid>
</Window>
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:UC="clr-namespace:WpfApplication1"
xmlns:UC1="clr-namespace:WpfControlLibrary1;assembly=WpfControlLibrary1"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<Style x:Key="TriggersStyle" TargetType="Label">
<Setter Property="Background" Value="BurlyWood"/>
<Style.Triggers>
<!--Triggers单一条件触发事件 当IsMouseOver的时候,Button颜色变成粉色 -->
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Pink"/>
</Trigger>
</Style.Triggers>
</Style> <Style x:Key="MultiTriggerStyle" TargetType="Button">
<Setter Property="Background" Value="BurlyWood"/>
<Style.Triggers>
<!--MultiTrigger多条件触发事件 当IsMouseOver后IsPressed时候,字体30号 -->
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"></Condition>
<Condition Property="IsPressed" Value="True"></Condition>
</MultiTrigger.Conditions>
<Setter Property="FontSize" Value="30"/>
</MultiTrigger>
</Style.Triggers>
</Style> <Style x:Key="DataTriggerStyle" TargetType="Control">
<Setter Property="Background" Value="Brown"/>
<Style.Triggers>
<!-- 绑定当前的radio单选框,如果按钮选中,触发字体设置 -->
<DataTrigger Binding="{Binding ElementName=radio, Path=IsChecked}" Value="True">
<Setter Property="FontSize" Value="30"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Style="{StaticResource ResourceKey=TriggersStyle}" Content="Triggers"></Label>
<Button Style="{StaticResource ResourceKey=MultiTriggerStyle}" Content="MultiTrigger" Grid.Row="1"></Button>
<RadioButton Style="{StaticResource ResourceKey=DataTriggerStyle}" Name="radio" Content="我要变成20号字" Grid.Row="2"></RadioButton>
</Grid>
</Window>
最新文章
- vs连接服务器sql server数据库 web.config和代码
- java编程思想-java 异常使用指南
- node.js在windows环境下的安装
- HDOJ 1869
- Oracle索引扫描算法
- 移动互联与大数据之美-逐浪CMS2 X1.1发布
- oracle的row_number()和rownum
- 【剑指offer】丑数
- ThinkPHP3.2 --- 中文乱码问题
- 【C#】解析C#中LING的使用
- Linux下的文件操作——基于文件指针的文件操作(缓冲)
- luogu3203 弹飞绵羊 (LCT)
- Jquery 较好的效果
- javascript的冒泡排序, 快速排序, 选择排序, 插入排序
- vim的几个插件mark.vim ctrlp.vim等
- zabbix系列之三——安装报错
- python学习 (二十八) Python的for 循环
- css样式、js2种方式 控制字符个数,多余的字用省略号代替
- HttpServletResponse对象(二)之常见应用
- Dib to Bitmap doesn't work in WPF