Triggers和Actions是因果关系模型,一个触发器可以调用一个或多个操作,与WPF中的模型基本一致。

所谓Trigger,就是监听某些条件的变化,比如事件触发,属性值改变等,进而触发一些动作的发生。

自定义Triiger只需要从TriggerBase继承,并覆盖OnAttached和OnDetaching方法即可。

所谓Action,就是执行某些操作的一个对象。

可以根据需要创建自己的Action,常见的需要创建Action的情况有:改变属性、调用方法、打开窗口、导航到某个页面、设置焦点等。

自定义Action可从 TriggerAction或TargetedTriggerAction继承,区别在于这个操作是否有目标对象,然后覆盖Invoke方法即可。

Triggers和Actions理论是可以相互独立,任意组合的。

当你在定义时发现有些逻辑上需要相互确定或者假定发生 时,Behaviors需要登台了。

Behaviors乍看起来像是Actions,但它是逻辑独立功能自备的独立单元,它无需触发器,常常定义 Behavior时就已经确定。

创建自定义Behavior需要从Behavior继承,并覆盖 OnAttached和OnDetaching方法,复杂行为时需要用到ICommand.

转载于:https://www.cnblogs.com/ningth/archive/2011/12/07/2279283.html

【最佳实践】【Blend】Triggers、Actions 和 Behaviors相关推荐

  1. 使用Typescript和React的最佳实践

    by Christopher Diggins 克里斯托弗·迪金斯(Christopher Diggins) 使用Typescript和React的最佳实践 (Best practices for us ...

  2. 学习sql注入:猜测数据库_学习SQL:删除和更新数据SQL最佳实践

    学习sql注入:猜测数据库 Deleting and updating data is very common, but if performed without taking care, which ...

  3. SQL Server 最佳实践分析器使用小结

    Best Practices Analyzer Tool for Microsoft SQL Server 2000是Microsoft SQL Server开发团队开发的一个数据库管理工具,可以让你 ...

  4. web前端开发最佳实践_学习前端Web开发的最佳方法

    web前端开发最佳实践 为什么要进行网站开发? (Why web development?) Web development is a field that is not going anywhere ...

  5. 调优 DB2 UDB v8.1 及其数据库的最佳实践-IBM developerWorks

    http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0404mcarthur/#sqltuning 级别: 初级 ...

  6. React.js 2016 最佳实践 徬梓阅读 1584收藏 71

    为什么80%的码农都做不了架构师?>>>    译者按:近几个月React相关话题依旧火热,相信越来越多的开发者在尝试这样一项技术,我们团队也在PC和移动端不断总结经验.2016来了 ...

  7. Git 最佳实践:分支管理

    5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践.最后我为团队选择了这个git分支管理实践 A successful Git branching ...

  8. 需求分析与建模最佳实践_社交媒体和主题建模:如何在实践中分析帖子

    需求分析与建模最佳实践 主题建模的实际使用 (Practical use of topic modeling) There is a substantial amount of data genera ...

  9. ASP.NET Core 性能优化最佳实践

    本文提供了 ASP.NET Core 的性能最佳实践指南. 译文原文地址:https://docs.microsoft.com/en-us/aspnet/core/performance/perfor ...

  10. 小程序 Typescript 最佳实践

    小程序结合TypeScript开发,如果用第三方框架,首选Taro已完美支持.但是如果你选择原生开发,那么下面的这份实践可能会帮到你. 小程序 Typescript 最佳实践 使用 gulp 构建(支 ...

最新文章

  1. 京东商品详情页碎碎念
  2. 关于阿里巴巴iconfont的使用方法
  3. java调用命令行命令_Java命令行界面(第4部分):命令行
  4. array_column php什么版本可以用,array_column兼容php5.5以下版本
  5. java异常顺序_网易新闻
  6. Django环境安装和创建工程
  7. 二级c语言改错题库,二级C语言题库-改错题(参考).doc
  8. 帆软报表帮助文档_给大家分享一款值得推荐的免费好用的web报表插件
  9. 64位WIN7系统下无法安装驱动/ 有黄色感叹号怎么办?
  10. matlab中一个显示根号的技巧
  11. 查看浏览器版本及内核信息
  12. Chapter5.1:频率响应法
  13. vue + html2canvas + ArcGIS 3.x 地图一键截图功能踩坑之路(二)
  14. HttpWebRequest 无法连接到远程服务器
  15. 如何一键关闭所有视窗?
  16. android 标注 比例换算,android APP UI设计图标注、换算
  17. Python笔记-上证指数收益率计算
  18. LoadLibrary无法加载.dll解决思路
  19. 论文阅读【6】Autoaugment: Learning augmentation strategies from data
  20. 华为云桌面Workspace,让你的办公更加舒适惬意

热门文章

  1. 这两个漏洞暴露 Facebook Group 成员,有个用手机就能发现,获奖$9000
  2. Docker-服务安装
  3. 京东与滁州达成战略合作,共建全国首座智慧型家电产地仓
  4. 《Java安全编码标准》一导读
  5. 密码破解之Esxi重置root密码
  6. 在Mac系统下架设WiFi热点,对比Win7
  7. 多线程之join用法
  8. 【iOS开发】使用XCode 10添加Launch Image(启动图片)
  9. 1091. Acute Stroke (30)-PAT甲级真题(广度优先搜索)
  10. maven 排除某个类_java-如何从Maven依赖项中排除某些程序包(在JAR中)?