【问题标题】:Silverlight prism region eventsSilverlight 棱镜区域事件
【发布时间】:2010-04-13 02:36:52
【问题描述】:

在 silverlight prism 应用程序中,我有一个区域 (ContentControl),并希望在添加另一个视图之前删除当前活动的视图。我尝试使用 region.PropertyChanged 事件,但它没有触发。我可以在添加新视图的代码中执行此操作,但这会分散我的代码。如何做到这一点?谢谢您的回复。

【问题讨论】:

    标签: silverlight events prism region


    【解决方案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&lt;MyView)("MyRegion");

    【讨论】:

    • 我接受这个答案,但仍然想知道为什么 propertychanged 不会触发
    猜你喜欢
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    相关资源
    最近更新 更多