В приложении silverlight prism у меня есть область (ContentControl), и я хотел бы удалить текущее активное представление перед добавлением другого представления. Я попытался использовать событие region.PropertyChanged, но оно не сработало. Я могу сделать это в коде, в который добавляю новое представление, но это разбросает мой код. Как этого добиться? Спасибо за ответ.
События региона призмы Silverlight
Ответы (1)
public static class RegionManagerExtensions
{
public static void RemoveCurrentlyActiveAndThenAdd<TView>(
this IRegionManager regionManager,
string regionName)
{
var region = regionManager.Regions[regionName];
while (region.ActiveViews.Any())
region.Remove(region.ActiveViews.First());
var view = ServiceLocator.Current.GetInstance(typeof(TView));
regionManager.Regions[regionName].Add(view);
}
}
Затем в вашем коде вы можете: regionManager.RemoveCurrentlyActiveAndThenAdd<MyView)("MyRegion");
person
PL.
schedule
13.04.2010
Я принимаю этот ответ, но все же хотел бы знать, почему свойство propertychanged не срабатывает
- person synergetic; 13.04.2010