wpf - 视觉状态和触发器的差异

标签 wpf silverlight silverlight-3.0

我在某处读到 Silverlight 是 WPF 的子集,那么为什么在 Silverlight 中不使用触发器而使用状态。这两者之间有什么区别,为什么在 Silverlight 3.0 中不使用触发器

最佳答案

为什么在 Silverlight 中没有实现触发器?归根结底,资源限制。 Silverlight 团队正在处理一个非常压缩的交付周期,并选择实现 VisualStateManager 而不是触发器,因为他们认为 VSM 交付了他们需要的大部分内容,并且实现起来比完整的 WPF 触发器系统便宜得多。

它们之间有什么区别?触发器在模板设计者的控制之下:它们允许(比如)按钮模板的设计者考虑他们感兴趣的任何疯狂的 UI 状态。状态在控件作者的控制之下:控件作者必须预测哪些事件对控件的显示很重要,并将它们组合成状态。

This article扩展了差异:文章本身支持触发器方法,但 John Gossman 和 Christian Schormann 的评论为各州提供了理由。

关于wpf - 视觉状态和触发器的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2577184/

相关文章:

wpf - 命令绑定(bind)可以作用于 IsEnabled 以外的目标 UIElement 属性吗?

wpf - 将网格列向右对齐

silverlight - 如何防止某些字段的 RIA 服务更改跟踪?

silverlight - Silverlight 3 中的多重绑定(bind)

xaml - 将可见元素添加到 Silverlight 3 中的自定义面板

c# - 模型列表<T> 和 ViewModel ObservableCollection<T> 重复数据?

c# - Wpf中的中继命令

silverlight - 可以以编程方式将用户控件添加到 Silverlight 网格列吗?

Silverlight:如何设置验证工具提示的样式?

silverlight - 在 Silverlight 资源字典后面添加代码时出错 : AG_E_PARSER_BAD_TYPE