有时,我需要从 View 到 VM 进行一些调用。我知道,它不是 MVVM 风格,但仍然如此。我应该总是重新检查 DataContext 是我的虚拟机(以防它可以通过从墓碑重新激活或类似的东西来改变),还是只存储一次就足够了?
var vm = DataContext as MyViewModel;
if (vm == null) return;
vm.DoSomething();
DataContext 是通过 Mvvm Light Locator 设置的
DataContext="{Binding MyViewModel, Mode=OneWay, Source={StaticResource ViewModelLocator}}"