附加行为模式与WPF DataGrid中的触发器

时间:2013-07-30 16:22:09

标签: wpf datagrid attached-properties

全部 -

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

我的理解是,当我想对数据做一些事情(在代码背后并保持MVVM完好无损) - 我将使用附加行为模式(默认命令不可用,因此扩展了双击,多功能等功能-row select etc类似于Extension方法)当我想在网格上设置可视化的东西时,我会将触发器与样式/模板组合使用(就像某个值会在单元格上闪烁某种颜色等)

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

请注意 - 我不是在询问附加属性和/或触发器的定义。我很了解他们。查看有关实际使用情况的指导。

专家们能否提供一些见解

由于

1 个答案:

答案 0 :(得分:1)

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

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

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