RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
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>


网站题目:WPF数据触发器检测非依赖属性
文章转载:http://www.jxjierui.cn/article/ccophgi.html