3

我有我的第一个 MVVM Light 应用程序,我的表现非常好,并且没有在后面的代码中添加任何内容。出于性能原因,我使用的图表控件需要调用来关闭它的更新,然后在图表系列更新后再次打开它。所以我需要从 ViewModel 中调用控件上的方法。

现在,我可以通过定位器的 MainStatic 方法将图表控件的引用传递给 ViewModel,从而通过“更大的锤子”方法实现所有这些。我发现自己认为这真的不是应该做的方式,我正在尝试以“MVVM方式”做所有事情。任何 MVVM Light 大师都可以给我指路吗?我所发现的只是人们将命令从后面的代码发送到 ViewModel...我需要走另一条路...或者至少我认为我这样做... ;-)

4

1 回答 1

2

“更新”开关应该通过可绑定属性公开,而不是需要函数调用。然后,您只需通过绑定到 View Model 的属性来打开和关闭它。

显然情况并非如此,也许您应该将图表控件包装在您自己的用户控件中或将其子类化(稍微困难一些)。然后您可以公开您想要的任何属性(包括“更新”属性,其设置器调用更新方法)。

我个人对在基本用户控件上使用非 MVVM 方法(即代码隐藏)没有任何疑虑,因为它们应该更像第三方控件而不是应用程序的一部分。包装或子类化现有控件只会导致更好的可重用组件库。

于 2010-11-08T09:07:10.660 回答