如何在 Prism 中使用面板作为区域?
棱镜文档指出有三个可用的区域适配器:
ContentControlRegionAdapter。此适配器适应
System.Windows.Controls.ContentControl
类型的控件和派生类。选择器区域适配器。此适配器适应从
System.Windows.Controls.Primitives.Selector
类派生的控件,例如System.Windows.Controls.TabControl
控件。ItemsControlRegionAdapter。此适配器适应
System.Windows.Controls.ItemsControl
类型的控件和派生类。
不幸的是,Panel
不属于任何这些类别,我希望能够在我的 .xaml.cs
中编写此内容:
<Canvas cal:RegionManager.RegionName="{x:Static local:RegionNames.MainCanvas}">
我们如何实现此目的?
The prism documentation states that there are three region adapters available:
ContentControlRegionAdapter. This adapter adapts controls of type
System.Windows.Controls.ContentControl
and derived classes.SelectorRegionAdapter. This adapter adapts controls derived from the class
System.Windows.Controls.Primitives.Selector
, such as theSystem.Windows.Controls.TabControl
control.ItemsControlRegionAdapter. This adapter adapts controls of type
System.Windows.Controls.ItemsControl
and derived classes.
Unfortunately, Panel
does not fall into any of those categories, and I want to be able to write this in my .xaml.cs
:
<Canvas cal:RegionManager.RegionName="{x:Static local:RegionNames.MainCanvas}">
How can we accomplish this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个问题的答案可以在这个非常好的描述性博客文章。
不过,我也希望将答案存储在 StackOverflow 上:) 我花了一些时间从 Google 搜索才能得到这个答案。这是我的代码,适用于基本面板。
第 1 步 - 创建新的区域适配器
第 2 步 - 更新引导程序
The answer to this can be found in this very nice, descriptive blog post.
However, I want the answer stored on StackOverflow as well :) It took a bit of searching to get this from Google. Here is my code that works with a basic Panel.
Step 1 - create a new region adapter
Step 2 - update your bootstrapper