Silverlight 银光棱镜区事件
在silverlight prism应用程序中,我有一个区域(ContentControl),希望在添加另一个视图之前删除当前活动的视图。我尝试使用region.PropertyChanged事件,但未触发。我可以在代码中添加新视图,但这会分散我的代码。如何做到这一点?谢谢你的回复Silverlight 银光棱镜区事件,silverlight,events,prism,region,Silverlight,Events,Prism,Region,在silverlight prism应用程序中,我有一个区域(ContentControl),希望在添加另一个视图之前删除当前活动的视图。我尝试使用region.PropertyChanged事件,但未触发。我可以在代码中添加新视图,但这会分散我的代码。如何做到这一点?谢谢你的回复 public静态类regionmanager public static class RegionManagerExtensions { public static void RemoveCurrently
public静态类regionmanager
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);
}
}
{
公共静态无效删除当前活动并添加(
此IRegionManager区域管理器,
字符串(区域名称)
{
var region=regionManager.Regions[regionName];
while(region.activeview.Any())
region.Remove(region.ActiveViews.First());
var view=ServiceLocator.Current.GetInstance(typeof(TView));
regionManager.Regions[regionName].Add(视图);
}
}
然后在代码中可以执行:
regionManager.RemoveCurrentlyActiveAndThenAddI接受这个答案,但仍然想知道为什么propertychanged不会触发