使用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”参数)。
怎么样?
答案 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
{
}
}
}