PRISM Silverlight 4 MEF - IActiveAware

时间:2011-06-30 06:51:59

标签: silverlight mvvm prism

我无法让我的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;
    }
}

1 个答案:

答案 0 :(得分:0)

我想只有当您通过IsActive_regionManager.RequestNavigate导航到您的视图时才会更改_region.Activate(view)。在您的情况下,您可以在IsActiveview.Loaded个事件上设置view.GotFocus