【发布时间】:2020-01-09 15:54:42
【问题描述】:
我尝试在我的 ViewModel 中实现 INavigationAware 接口,并将 ViewModel 实例化为 XAML 中解释的资源 https://blog.rsuter.com/recommendations-best-practices-implementing-mvvm-xaml-net-applications/ 喜欢这个示例:
<UserControl x:Class="My.Namespace.MySampleView" ...>
<UserControl.Resources>
<viewModels:MySampleViewModel x:Key="ViewModel" />
</UserControl.Resources>
<Grid DataContext="{StaticResource ViewModel}">
...
</Grid>
</UserControl>
但使用此实现,ViewModel 中的 INavigationAware 方法不会在导航到视图或从视图导航时调用。
一种解决方案是在 Code-Behind 中设置 View (UserControl) 的 DataContext。
这里的最佳做法是什么?
【问题讨论】: