【问题标题】:Attached Behavior Pattern versus Triggers in WPF DataGridWPF DataGrid 中的附加行为模式与触发器
【发布时间】:2013-07-31 02:58:28
【问题描述】:

全部 -

我试图了解何时使用附加行为模式(创建静态类并通过 RegisterAttached 注册 DP 属性)与数据网格中的属性和/或数据触发器。寻找两者的常见用例特别是在 WPF 数据网格场景中

我的理解是,当我想对数据做一些事情时(在代码后面并保持 MVVM 完整) - 我将使用附加行为模式(默认命令不可用,因此扩展了双击、多-row select 等类似于扩展方法),而当我想在网格上直观地设置某些东西时,我会结合使用触发器和样式/模板(比如某个值会在单元格上闪烁某种颜色等)

我能想到一个 - 如果我需要在数据网格中多选 3 行,然后单击删除按钮 - 假设这是附加行为的完美候选者。

请注意 - 我不是在询问附加属性和/或触发器的定义。我非常了解他们。寻找更多关于现实世界使用的指导。

请高手们提供一些见解

谢谢

【问题讨论】:

  • 我有几个案例,我会选择在 VM 中进行样式和状态之外的处理,但我不想编写用例概要,因为教科书做得更好。我还记得,选择触发器与附加行为的决定是不对称的。

标签: wpf datagrid attached-properties


【解决方案1】:

您在正确的轨道上,但附加行为也可以纯粹用于视觉效果(因此对 ViewModel 没有影响)。

我认为这取决于情况需要什么。例如,在我当前的应用程序中,附加行为更可取,因为我们同时针对 WPF 和 Silverlight(SL 中不存在触发器)。

如果有一个触发器可以满足您的需求,那就去做吧,但是如果您需要扩展行为,那么附加属性是一个很好的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多