使用 DevExpress 创建区域

Create regions with DevExpress

如果我有一个 dx:ThemedWindow 类型的 X 文件,其中包含一个 AccordionControl。我应该使用什么区域控件来为该区域创建参考?我尝试了 DockPanel 但没有成功。 X 文件如下所示。

<dxa:AccordionControl>
   <dxa:AccordionItem Header="Home">
      <dxa:AccordionItem Header="Products"/>
      <dxa:AccordionItem Header="Downloads"/>
   </dxa:AccordionItem>
   <dxa:AccordionItem Header="Get Help">
      <dxa:AccordionItem Header="Support"/>
      <dxa:AccordionItem Header="Documentation"/>
   </dxa:AccordionItem>
   <dxa:AccordionItem Header="Client Center"/>
</dxa:AccordionControl>

Shell.xaml 中,我尝试使用 RegionManager 获取该区域。

<DockPanel DockPanel.Dock="Bottom" prism:RegionManager.RegionName="{x:Static inf:RegionNames.MenuRegion}" />

你能帮帮我吗?

Devexpress 为其控件提供了一组区域适配器(查看安装目录,类似于 components\source\prismadapters)。

如果 AccordionControl 没有现成可用的区域适配器,您必须自己编写。

你的问题对我来说是模棱两可的,我不知道你是否想在你的 window 中有一个 reion 来主持 AccordionControl 或者你是否想要 AccordionControl一个地区本身。

在您的 window

中托管手风琴控件

Prism 没有内置 DockPanel 的区域适配器,但您可以在 window 中声明一个 DockPanel 并在其中使用 ContentControl承载菜单的区域。

<DockPanel LastChildFill="True">
   <ContentControl DockPanel.Dock="Bottom" prism:RegionManager.RegionName="{x:Static inf:RegionNames.MenuRegion}"/>
</DockPanel>

然后您可以 navigate 使用区域管理器的 RequestNavigate 方法或者您在您的应用程序中使用 RegisterViewWithRegion 注册视图以进行视图发现。

作为区域的手风琴控件

DevExpress 为 Prism 提供了许多开箱即用的区​​域适配器,但 none 为 AccordionControl,请参阅 documentation 以供参考。

您必须自己为那个特定控件创建一个合适的区域适配器。区域适配器可能非常复杂,要开始使用,请查看这些资源。