【发布时间】:2015-11-10 07:45:26
【问题描述】:
在基于 prism 6 的应用程序中, 这是我 shell 的一部分,QuickAccessToolBar 区域定义如下:
<telerik:RadRibbonView>
<telerik:RadRibbonView.QuickAccessToolBar>
<telerik:QuickAccessToolBar prism:RegionManager.RegionName="{x:Static inf:RegionNames.QuickAccessToolBarRegion}"/>
</telerik:RadRibbonView.QuickAccessToolBar>
RegionManger不会加载区域,
以及何时将上面的定义(仅用于演示目的)替换为:
<telerik:RadRibbonView >
<ContentControl prism:RegionManager.RegionName="{x:Static inf:RegionNames.QuickAccessToolBarRegion}"/>
RegionManager 加载区域!
我的问题是:
我的 XAML 有什么问题?我的区域是在一个复杂的属性中定义的吗?
可以指导一下吗
提前致谢。
最好的问候。
解决方案:
Brian 的回答非常好,它就像一个魅力, 正如布莱恩所说:
- 首先我们命名目标元素:
<telerik:RadRibbonView.QuickAccessToolBar>
<telerik:QuickAccessToolBar x:Name="QuickAccessToolBar"/>
</telerik:RadRibbonView.QuickAccessToolBar>
- 在后面的代码中(在我的例子中是 Shell):
public Shell(ShellViewModel viewModel, IRegionManager regionManager)
{
InitializeComponent();
DataContext = viewModel;
RegionManager.SetRegionName(QuickAccessToolBar,RegionNames.QuickAccessToolBarRegion);
RegionManager.SetRegionManager(QuickAccessToolBar, regionManager);
}
其中 RegionNames.QuickAccessToolBarRegion ="QuickAccessToolBarRegion" 和 regionManager 是统一容器解析的 RegionManager
非常感谢布赖恩,晚安:)
【问题讨论】:
标签: prism