WPF数据触发器检测非依赖属性

开发 开发工具
WPF数据触发器主要被开发人员用来检测非依赖属性。我们在这篇文章中通过一段代码示例为大家详细介绍了有关WPF数据触发器的相关概念介绍。

我们在以前的文章中,曾经向大家介绍了有关属性触发器的一些介绍。可以知道,它是一种最常见的触发器类型。其实,WPF数据触发器和属性触发器除了面对的对象类型不一样外完全相同。#t#

WPF数据触发器是来检测非依赖属性------也就是用户自定义的.NET属性-----的值发生变化时来触发并调用符合条件的一系列Setter集合。

下边的示例演示了在绑定的ListBox里如果某个User对象符合某种特点(Role=Admin),则以突出方式显示这个对象。这里就用了DataTrigger,因为WPF数据触发器需要检测的是User对象的属性Role,这个对象是自定义的非可视化对象并且其属性为普通.NET属性。

 

  1. < Page.Resources> 
  2. < clr:Users x:Key="myUsers" /> 
  3. < DataTemplate DataType=
    "{x:Type clr:User}"> 
  4. < TextBlock Text="
    {Binding Path=Name}"
    /> 
  5. < /DataTemplate> 
  6. ...  
  7. < /Page.Resources> 
  8. < StackPanel> 
  9. < ListBox Width="200"   
  10. ItemsSource="{Binding 
    Source={StaticResource 
    myUsers}}"
     /> 
  11. < /StackPanel> 

 

WPF数据触发器主要的部分定义在了Style中,其针对的是每个ListBox的项,当其被绑定的数据的属性Role为Admin时,突出显示:

 

  1. < Style TargetType=
    "{x:Type ListBoxItem}"> 
  2. < Style.Triggers> 
  3. < DataTrigger Binding=
    "{Binding Path=Role}"
     Value="Admin"> 
  4. < Setter Property=
    "Foreground" Value="Red" /> 
  5. < /DataTrigger> 
  6. < /Style.Triggers> 
  7. < /Style> 

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-24 17:24:21

WPF属性触发器

2009-12-23 17:49:28

WPF触发器

2009-12-24 17:19:13

WPF触发器

2009-12-24 17:52:05

WPF触发器

2009-12-24 17:38:18

WPF事件触发器

2011-05-20 14:06:25

Oracle触发器

2009-09-18 14:31:33

CLR触发器

2011-03-28 10:05:57

sql触发器代码

2010-07-06 14:47:03

SQL Server数

2023-09-15 11:49:33

wpf依赖属性

2009-12-25 14:18:03

WPF依赖属性

2011-05-19 14:29:49

Oracle触发器语法

2021-07-30 10:33:57

MySQL触发器数据

2011-04-14 13:54:22

Oracle触发器

2009-11-18 13:15:06

Oracle触发器

2011-03-03 14:04:48

Oracle数据库触发器

2010-05-31 18:06:07

MySQL 触发器

2010-10-12 10:04:15

MySQL触发器

2010-10-12 10:24:58

mysql触发器

2010-05-18 15:58:39

MySQL触发器
点赞
收藏

51CTO技术栈公众号