ПРИЗМА Silverlight 4 MEF - IActiveAware - PullRequest
0 голосов
/ 30 июня 2011

Мне не удается заставить мою 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 голосов
/ 16 февраля 2012

Я думаю, IsActive будет изменено только при переходе к вашему виду через _regionManager.RequestNavigate или _region.Activate(view). В вашем случае вы можете установить IsActive на view.Loaded или view.GotFocus события.

...