当前位置: 首页 > news >正文

做网站美工排版护肤品网站制作 网新科技

做网站美工排版,护肤品网站制作 网新科技,怎么搭建app,北京市建设公租房网站本文内容 先决条件标识属性更改事件属性触发器 Windows Presentation Foundation (WPF) 定义几个为响应属性值的更改而引发的事件。 该属性通常是依赖项属性。 事件本身可以是路由事件#xff0c;也可以是标准公共语言运行时 (CLR) 事件#xff0c;具体取决于事件是应通过元…本文内容 先决条件标识属性更改事件属性触发器 Windows Presentation Foundation (WPF) 定义几个为响应属性值的更改而引发的事件。 该属性通常是依赖项属性。 事件本身可以是路由事件也可以是标准公共语言运行时 (CLR) 事件具体取决于事件是应通过元素树路由还是仅在属性发生更改的对象上发生。 当属性更改仅与属性值发生更改的对象相关时后一种方案适用。 1、先决条件 本文假定你对依赖有基本的了解并且已阅读 路由事件概述。 2、标识属性更改事件 并非所有报告属性更改的事件都通过签名或命名模式显式地标识为属性更改事件。 SDK 文档交叉引用事件和属性并指示事件是否直接与属性值更改相关。 某些事件使用特定于属性更改事件的事件数据类型和委托。 例如RoutedPropertyChanged 和 DependencyPropertyChanged 事件都有特定的签名。 以下几节中讨论了这些事件类型。 2.1 RoutedPropertyChanged 事件 RoutedPropertyChanged 事件具有 RoutedPropertyChangedEventArgsT 事件数据和 RoutedPropertyChangedEventHandlerT 委托。 事件数据和委托都有泛型类型参数 T。 定义处理程序时指定更改的属性的实际类型。 事件数据包含 OldValue 和 NewValue 属性其运行时类型与更改的属性相同。 名称中的“Routed”部分表示属性更改事件注册为路由事件。 属性更改路由事件的优势在于每当子元素属性发生更改时父元素都会收到通知。 这意味着当控件的任何复合部件的值发生更改时控件的顶层元素会接收属性更改事件。 例如假设创建一个合并 RangeBase 控件的控件例如 Slider。 如果 Value 属性的值在滑块部分发生更改你可在父控件而非该部分上处理此更改。 避免使用属性更改事件处理程序来验证属性值因为这不是大多数属性更改事件的设计意图。 通常提供属性更改事件是为了你能够在代码的其他逻辑区域响应值更改。 在属性更改事件处理程序内再次更改属性值并不明智并且可能导致意外的递归具体取决于处理程序的实现方式。 如果属性是自定义依赖属性或者处理的是定义了实例化代码的派生类则 WPF 属性系统有更好的方式来跟踪属性更改。 这种方式是使用内置 CoerceValueCallback 和 PropertyChangedCallback 属性系统回调。 2.2 DependencyPropertyChanged 事件 DependencyPropertyChanged 事件具有 DependencyPropertyChangedEventArgs 事件数据和 DependencyPropertyChangedEventHandler 委托。 这些事件是标准 CLR 事件而不是路由事件。 DependencyPropertyChangedEventArgs 不是通常的事件数据报告类型因为它不派生自 EventArgs而且它是一个结构并非一个类。 DependencyPropertyChanged 事件的一个示例是 IsMouseCapturedChanged。 DependencyPropertyChanged 事件比 RoutedPropertyChanged 事件稍微常见一些。 与 RoutedPropertyChanged 事件数据类似DependencyPropertyChanged 事件数据包含 OldValue 和 NewValue 属性。 出于前面提到的原因请避免使用属性更改事件处理程序再次更改属性值。 3、属性触发器 与属性更改事件密切相关的一个概念是属性触发器。 属性触发器是在样式或模板内创建的。 通过属性触发器可以创建基于分配了触发器的属性的值的条件行为。 属性触发器操作的属性必须是依赖属性。 它可以是且通常是只读依赖属性。 如果控件公开的依赖属性的名称以“Is”开头则表明该属性至少部分设计为属性触发器。 采用此命名规则的属性通常是只读的 Boolean 依赖属性其属性的主要作用是报告控件状态。 如果控件状态影响实时 UI则该依赖属性是一个属性触发器候选项。 有些属性具有专用属性更改事件。 例如IsMouseCaptured 具有 IsMouseCapturedChanged 属性更改事件。 IsMouseCaptured 属性是只读的其值由输入系统修改。 输入系统在每次实时更改时都将引发 IsMouseCapturedChanged 事件。 属性触发器限制 与真正的属性更改事件相比属性触发器具有一些限制。 属性触发器 通过完全匹配逻辑来工作在该逻辑中指定将激活触发器的属性名称和特定值。 示例为 Setter PropertyIsMouseCaptured Valuetrue ... /Setter。 属性触发器语法限制大多数属性触发器用于 Boolean 属性或采用专用枚举值的属性。 可能值的范围必须可管理这样你才能为每种情况定义一个触发器。 有时属性触发器仅针对特殊值存在例如当项计数达到零时。 单个触发器不能设置为在属性值偏离特定值如零时激活。 请考虑实现代码事件处理程序或实现在值不为零时从触发器状态切换回来的默认行为而不是针对所有非零情况使用多个触发器。 属性触发器语法与编程中的“if”语句类似。 如果触发器条件为 true将“运行”属性触发器的“主体”。 属性触发器的“主体”是标记而不是代码。 该标记被限制为只能使用一个或多个 Setter 元素来设置应用了样式或模板的对象的其他属性。 当属性触发器的“if”条件具有各种可能值时建议使用触发器外的 Setter 将此相同的属性值设置为默认值。 这样当触发器条件为 true 时触发器内的 setter 将优先否则触发器外的 Setter 将优先。 对于一个或多个外观属性应基于同一元素的其他属性的状态而更改的情况属性触发器非常有用。
http://www.pierceye.com/news/979232/

相关文章:

  • 中山建设网站官网郑州做网站排名公司
  • 怎么把自己做的网站放到百度上网页该如何推广
  • 军事网站大全军事网金蝶软件公司官网
  • 哪些网站用c 做的南宁有做门户网站的公司吗
  • 濮阳网站建设陈帅wordpress 调用用户头像
  • 旅游自媒体网站怎么做个人创业做网站
  • 语音识别程序代做网站网站运营策略如何做
  • 怎么做淘宝网站赚钱吗wordpress个性用户
  • 通州郑州阳网站建设wordpress发表的文章在页面找不到
  • 网上订货发货网站建设3d建模用什么软件
  • 广州房地产网站建设方案推广你公司网站
  • 较好的网站建设公司网站备案填了虚假座机能过吗
  • 网站权重是怎么提升的node怎么做网站
  • 珠海哪家做企业网站公司好网站开发常用图标 图像
  • 上海先进网站设计丹阳如何做百度的网站
  • dw免费网站模板下载ui设计培训课程
  • 襄城县城乡建设管理局网站网站推广要具备什么
  • 用vue做网站的实例wordpress redis缓存
  • dedecms模板站源码wordpress上传主题错误
  • 网站需求方案手机网站加载效果
  • 国外空间网站源码网站电子备案
  • 最好网站建设公司运营团队南山医院网站建设
  • 微小店网站建设官网杭州网站设计上市公司
  • 合肥装饰公司做的好的网站采购销售管理软件
  • wordpress做后端wordpress的seo优化
  • 学术会议网站怎么做教学工作总结
  • 可以在线做试卷的网站互联网营销与管理
  • 国际重大新闻湛江做网站优化
  • 做app的模板下载网站有哪些长春网上建设网站
  • 建网站多少钱 万户项目管理软件手机版