2011-03-31 107 views
3

我正在使用MVVM模式,并有一个场景,我需要隐藏基于某些功能逻辑的控件。WPF DataTrigger与.Net属性

我有两个选项来处理它。

  1. 我可以创建视图模型的布尔属性,并与相应的控制处理能见度结合这和该属性获得基于集合的一些功能逻辑。

  2. 我可以在控件上使用DataTrigger来处理在这里使用相同功能逻辑的XAML本身的可见性。 (此功能逻辑很容易在XAML访问)

的问题 - 这是处理它的WPF性能和可维护性等方面的正确方法是什么?

+1

好问题。 :)我有兴趣找到答案。我会倾向于使用选项1,因为这是我认为视图模型的重点所在。 :) – Russell 2011-03-31 07:20:44

+0

@Russell:我同意你的意见。无需维护2个触发器。你只需要维护1个物业。 =) – Willem 2011-03-31 07:26:55

+0

可能的重复[是否更好使用DataTrigger而不是数据绑定?](http://stackoverflow.com/questions/4306983/is-it-better-to-use-datatrigger-instead-of-a-数据绑定) – Snowbear 2011-03-31 08:14:20

回答

2

我会说选项1:假设你想要捕捉一个Silverlight视图。然后,您不必在Silverlight视图中创建触发器。

因此,根据MVVM,第一种选择将是最好的模式。