Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight MVVM指示灯-向代码隐藏发送通知_Silverlight_Mvvm_Light - Fatal编程技术网

Silverlight MVVM指示灯-向代码隐藏发送通知

Silverlight MVVM指示灯-向代码隐藏发送通知,silverlight,mvvm,light,Silverlight,Mvvm,Light,我有我的第一个MVVM Light应用程序,我做得很好,没有在代码中添加任何东西。出于性能原因,我正在使用的图表控件需要调用以关闭其更新,然后在更新图表系列后再次打开它。所以我需要从ViewModel调用控件上的一个方法 现在,我可以通过定位器的MainStatic方法将对图表控件的引用传递到ViewModel中,通过“大锤子”方法实现所有这些。我发现我自己认为这真的不是应该这样做的,我正试图以“MVVM方式”来做每件事。任何MVVM灯光大师都能给我指路吗?我所发现的只是人们从代码背后向View

我有我的第一个MVVM Light应用程序,我做得很好,没有在代码中添加任何东西。出于性能原因,我正在使用的图表控件需要调用以关闭其更新,然后在更新图表系列后再次打开它。所以我需要从ViewModel调用控件上的一个方法

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

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

由于情况显然不是这样,也许您应该将图表控件包装在自己的用户控件中,或者将其子类化(稍微难一点)。然后可以公开任何想要的属性(包括“更新”属性,其setter调用更新方法)

我个人对在基本用户控件上使用非MVVM方法(即代码隐藏)毫不犹豫,因为它们应该更像第三方控件,而不是应用程序的一部分。对现有控件进行包装或子分类只会产生更好的可重用组件库