如何获得该地区的名称?

时间:2010-01-19 14:22:59

标签: silverlight prism

使用Silverlight&棱镜。 我在TabControl中创建一个新的作用域区域,如下所示:

IRegionManager regionManager = tabControl.Add(viewRegions, UNIQUEID, true);

然后从TabControl SelectionChanged事件我想获得该区域的名称。 所以我走了:

TabItem item = e.AddedItems[0] as TabItem;
FrameworkElement view = item.Content as FrameworkElement;
IRegionManager xxx = RegionManager.GetRegionManager(view);

所以现在我有了scoped region manager at hand = xxx!

但我怎么得到它的名字? (我已经分配给它的“UNIQUEID”参数)。

怎么样?

1 个答案:

答案 0 :(得分:0)

如果您有RegionManager和View,那么您可以获取区域名称(但我不知道您为什么要这样做)。如果您像这样循环遍历区域管理器,您可以得到您想要的。你必须保持对作用域RegionManager的引用,但是没有办法解决这个问题。 (还有一些额外的代码可以证明其他人可能也想做的事情)

    private void UnloadRegion()
    {
        foreach (IRegion region in xxx.Regions)
        {
            for (int ix = region.ActiveViews.Count() - 1; ix >= 0; ix--)
            {
               if (WhateverYourCurrentViewIs == region.ActiveViews.Last())
               {
                    string RegionName = region.Name;
                    //there is the name
               {
            }
        }
    }