我无法让我的ViewModel接收IActiveAware通知。
我的观点是通过View Discovery在该地区注册的。
_regionManager.RegisterViewWithRegion(
RegionNames.ListRegion, typeof(AlarmListView));
ViewModel实现了IActiveAware,但是当视图变为活动状态时,它永远不会被设置。我错过了什么?
我的视图模型注册如下:
/// <summary>The alarm list view model.</summary>
[Export(typeof(IAlarmListViewModel))]
public class AlarmListViewModel :
AsyncNotificationObject,
IActiveAware,
IAlarmListViewModel { ... }
并导入到视图中,如下所示:
[Import]
public IAlarmListViewModel ViewModel
{
get
{
return (IAlarmListViewModel)DataContext;
}
set
{
DataContext = value;
}
}
答案 0 :(得分:0)
我想只有当您通过IsActive
或_regionManager.RequestNavigate
导航到您的视图时才会更改_region.Activate(view)
。在您的情况下,您可以在IsActive
或view.Loaded
个事件上设置view.GotFocus
。