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.mswzjz.cn/qtweb/news34/218484.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能