我想从视图(代码隐藏)中访问当前使用的实际viewmodel。在引导程序中,我将viewmodel设置为perrequest,因此我无法使用IoC.Get< .. ViewModel>(); (我也不想改变这种行为)。
基本上,我在屏幕上寻找相当于GetView的东西,但反之亦然。
答案 0 :(得分:7)
DataContext将为您提供当前的ViewModel,该视图应用为视图的DataContext。
// Get you the object of ViewModel.
var viewModelInstance = DataContext;
// Or typecast to exact instance what you intend to use.
MyViewModel vm = DataContext as MyViewModel;
答案 1 :(得分:0)
请注意,DataContext
加载View
后会为其分配值。例如,您可以在View
。