0

全部 -

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

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

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

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

请专家提供一些见解

谢谢

4

1 回答 1

1

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

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

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

于 2013-07-30T18:44:39.647 回答