需要一种更好的方法来访问View中的ViewModel

时间:2013-09-18 04:43:14

标签: c# wpf mvvm viewmodel datacontext

我已经定义了一个用户控件,我为其创建了一个ViewModel。在我使用此UserControl的窗口后面的代码中,我将其datacontext设置为其ViewModel。

我想访问UserControl的Code beind中的一些ViewModel属性。

我正在使用类似的东西

var userControlVM = (UserControlVM)this.DataContext;

我担心类型转换为UserControlVM,因为我需要知道我正在投射的VM的类型,有没有办法我可以这样做而不显式类型转换它或者是否有任何其他更好的方法?

1 个答案:

答案 0 :(得分:4)

View期望特定类型的ViewModel没有任何问题。如果您需要View以便能够使用不同的具体ViewModel类型,您可以创建一个类似IUserControlVM的接口,并将View转换为该接口。