WPF 精修篇 数据触发器

原文:WPF 精修篇 数据触发器

数据触发器 可以使用Binding 来绑定控件 或者数据源 来触发相关动作

举栗子


  1. <Window.Resources>
  2. <Style TargetType="{x:Type Label}">
  3. <Style.Triggers>
  4. <DataTrigger Binding="{Binding ElementName=red,Path=IsChecked}" Value="True">
  5. <Setter Property="Background" Value="Red"></Setter>
  6. <Setter Property="Content" Value="Red"/>
  7. </DataTrigger>
  8. <DataTrigger Binding="{Binding ElementName=Blue,Path=IsChecked}" Value="True">
  9. <Setter Property="Background" Value="Blue"></Setter>
  10. <Setter Property="Content" Value="Blue"/>
  11. </DataTrigger>
  12. <DataTrigger Binding="{Binding ElementName=Green,Path=IsChecked}" Value="True">
  13. <Setter Property="Background" Value="Green"></Setter>
  14. <Setter Property="Content" Value="Green"/>
  15. </DataTrigger>
  16. </Style.Triggers>
  17. </Style>
  18. </Window.Resources>
  19. <Grid>
  20. <Grid.ColumnDefinitions>
  21. <ColumnDefinition Width="301*"/>
  22. <ColumnDefinition Width="216*"/>
  23. </Grid.ColumnDefinitions>
  24. <Label FontSize="30" Margin="0"/>
  25. <RadioButton x:Name="red" Content="red" Grid.Column="1" HorizontalAlignment="Left" Height="25.837" Margin="20,30,0,0" VerticalAlignment="Top" Width="104"/>
  26. <RadioButton x:Name="Blue" Content="Blue" Grid.Column="1" HorizontalAlignment="Left" Height="25.837" Margin="20,91.674,0,0" VerticalAlignment="Top" Width="104"/>
  27. <RadioButton x:Name="Green" Content="Green" Grid.Column="1" HorizontalAlignment="Left" Height="25.837" Margin="20,60.837,0,0" VerticalAlignment="Top" Width="104"/>
  28. </Grid>

通过binding 可以实现很多东西哟~

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

时间: 2024-10-09 00:32:44

WPF 精修篇 数据触发器的相关文章

WPF 精修篇 属性触发器

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

WPF精修篇 多数据触发器

原文:WPF精修篇 多数据触发器 有多属性触发器 就有多数据触发器 <Grid> <CheckBox x:Name="c1" Content="许可协议1" HorizontalAlignment="Left" Margin="151,157,0,0" VerticalAlignment="Top"/> <CheckBox x:Name="c2" Conte

WPF 精修篇 事件触发器

原文:WPF 精修篇 事件触发器 事件触发器 一般使用的就是动画 <Grid> <TextBlock Text="事件触发器" Opacity="0.2" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock.Style> <Style TargetType

WPF 精修篇 多属性触发器

原文:WPF 精修篇 多属性触发器 多属性触发器就是多个属性都满足在触发 在属性触发器上加了一些逻辑判断 举栗子 这个栗子里  textBox 要满足俩个条件 才能触发背景变色 1)textbox的 IsEnabled 为true 2) Texbox获得焦点 <Window.Resources> <Style TargetType="{x:Type TextBox}"> <Style.Triggers> <MultiTrigger> &l

WPF 精修篇 拖拽 DragDrop

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

WPF 精修篇 依赖属性

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

WPF 精修篇 数据绑定到对象

原文:WPF 精修篇 数据绑定到对象 数据绑定到对象 首先 我们需要一个对象 public class Preson { private string name; public string Name { get { return name; } set { name = value; } } private string address; public string Address { get { return address; } set { address = value; } } pri

WPF 精修篇 长时间线程加取消功能

原文:WPF 精修篇 长时间线程加取消功能 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11*"/> <RowDefinition Height="29*"/> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" Margin="0"

WPF 精修篇 非UI进程后台更新UI进程

原文:WPF 精修篇 非UI进程后台更新UI进程 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11*"/> <RowDefinition Height="29*"/> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" Margin="0&quo