Prism WPF 动态区域

2024-03-12

假设我们有一个包含模块 A 和 B 的 Prism 7 应用程序。主窗口有一个选项卡控件和两个按钮,用于将模块 A 或 B 添加到选项卡控件。我为选项卡控制项创建了一个绑定,并实现了一个项模板,其中包括 Prism Region,其名称绑定到项名称。

<TabControl ItemsSource="{Binding Tabs}">
        <TabControl.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}"/>
            </DataTemplate>
        </TabControl.ItemTemplate>
            
        <TabControl.ContentTemplate>
            <DataTemplate>
                <ContentControl prism:RegionManager.RegionName="{Binding}" />
            </DataTemplate>
        </TabControl.ContentTemplate>
    </TabControl>

我面临的问题是区域名称似乎没有改变,即如果我首先添加模块 A,所有接下来的按钮单击都会添加模块 A,反之亦然。在我之前的问题中Prism WPF 绑定 RegionManager.RegionName https://stackoverflow.com/questions/64108188/prism-wpf-binding-regionmanager-regionname我被解释说我不应该绑定RegionManger.RegionName,所以我的问题是,我应该如何实现这些要求?

存储库链接:https://github.com/moisejbraver/ModulesTest https://github.com/moisejbraver/ModulesTest


这是我处理带有棱镜区域的选项卡控件的方式,我认为这对您也有帮助。

<TabControl prism:RegionManager.RegionName="{x:Static local:RegionNames.AdvancedSetup}">
    <TabControl.ItemContainerStyle>
        <Style TargetType="TabItem">
            <Setter Property="Visibility" Value="{Binding DataContext.IsAvailable, Converter={coverters:BooleanToVisibilityConverter}}"/>
            <Setter Property="Header" Value="{Binding DataContext.Name}"/>
        </Style>
    </TabControl.ItemContainerStyle>
</TabControl>

然后我将所有选项卡注册到每个模块的 OnInitialized 函数中的同一区域。

regionManager.RegisterViewWithRegion(RegionNames.AdvancedSetup, setupType);

我已经制作了一个选项卡的所有视图模型都将实现的界面, 它包含

  1. 选项卡名称
  2. 选项卡是否可见。

您可能需要根据需要更改一些详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Prism WPF 动态区域 的相关文章

  • SL4 AutoCompleteBox 重复筛选结果问题

    我在 AutoCompleteBox 过滤方面遇到问题 它似乎记住了之前的过滤器 例如 我输入 A 它会返回 1 项 我删除 A 并输入 Z 这应该返回 1 项 问题是它返回 A 过滤器加上 Z 的结果 我删除 Z 并输入 S 这会带回 2
  • MVC 重定向到没有控制器的视图

    希望应该是一个简单的 我创建了一个通用错误视图 当整个站点的操作方法内发生异常时 我想显示该视图 我创建了一个部分页面 所有导航都位于其中 因此我不需要在此视图上使用控制器 那么如何从控制器内的操作方法重定向到它 像这样的东西 HttpPo
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • 将成员函数作为参数传递/c++

    我想用 C 实现一个类b可以通过封装该迭代器类型的成员集进行某种迭代 喜欢 b object for each x do function f so 函数 f会得到每个人的x成员并做任何事情 比方说 void function f x me
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您
  • 为什么重载方法在 ref 仅符合 CLS 方面有所不同

    公共语言规范对方法重载非常严格 仅允许根据其参数的数量和类型来重载方法 如果是泛型方法 则根据其泛型参数的数量进行重载 根据 csc 为什么此代码符合 CLS 无 CS3006 警告 using System assembly CLSCom
  • 如何不在类中实现接口的功能?

    面试时面试官问了我以下问题 但我不知道这个问题的答案是什么 请帮忙 如果我不想 我必须做什么 在我的类中实现一个函数 在接口中声明为 由我班实施 Edited 我正在使用 NET 和 C 如果有人可以提供 C 示例代码示例 那就太好了 Th
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D

随机推荐

  • 如何在 PHP 中下载现有文件

    我的服务器上有一个 pdf 文件 我想创建这样的链接 用户可以单击它并下载该 pdf 文件 我正在使用 Zend 框架与 Php 一起工作 将此代码放入 php 文件中并将其命名为 f e 下载 php
  • 当执行计划中存在“PARTITION LIST SUBQUERY”时,某些内容(错误?)会取消实例化包

    这是 Oracle 12c 的错误吗 我在 Oracle Linux 上运行 64 位 Oracle 12 1 0 2 遇到一件奇怪的事情 当执行计划切换到使用 PARTITION LIST SUBQUERY 时 受影响的查询中使用的包将丢
  • iCal 属性参数可以/应该转义吗?

    具体来说 CN 通用名称 参数 例如 ORGANIZER CN John Doe Eng mailto 电子邮件受保护 cdn cgi l email protection 恕我直言 RFC 对此含糊其辞 这是非常清楚的属性值 of typ
  • 如何将 numpy.matrix 或数组转换为 scipy 稀疏矩阵

    对于 SciPy 稀疏矩阵 可以使用todense or toarray 转换为 NumPy 矩阵或数组 进行逆运算的函数有哪些 我进行了搜索 但不知道哪些关键字应该是正确的 初始化稀疏矩阵时 您可以传递 numpy 数组或矩阵作为参数 例
  • 如何将 Jsoup 与 Volley 一起使用?

    我有一个使用 Jsoup 和 AsyncTask 的工作示例 效果很好 我只是对表现不满意 加载包含文本和图像的简单列表页面需要 3 6 秒 我想以某种方式提高性能 所以我偶然发现了截击 谁能解释一下如何在 jsoup 中使用 volley
  • 是否应该在 Windows 7 计算机上安装用于 powershell 的活动目录模块来导入它,还是可以从 Windows 2008 R2 DC 远程导入它?

    目前我正在开发任务板 用于将一些权限委托给远程管理员 我有以下问题 gt 对于在 powershell 中导入 Active Directory 模块 它是本地安装还是可以从 Windows 2008 R2 DC 远程导入 gt 对于在远程
  • 如何删除所有排队的作业,因为它会导致错误?

    我的网站将电子邮件发送作业排队到jobs桌子 我认为电子邮件服务器有问题 无法发送电子邮件 因此作业被困在作业表中 现在可能有太多作业 我收到此错误消息 Next exception Illuminate Database QueryExc
  • 这是什么字符编码?

    我正在与 Oracle DB 进行交互 该数据库的编码有些混乱 根据数据库属性为 ASCII7 但实际上对韩语字符进行编码 当我从结果集中获取一些韩语字符串并查看字节时 结果发现它们与该文件完全对应 我通过谷歌搜索一些字节序列发现 http
  • 如何将实例转换为派生类?

    我正在尝试在我正在开发的 Python 程序中使用一些继承 我有一个基类 User 它实现了用户的所有功能 我添加了未经批准的用户的概念 它就像用户一样 只是添加了一个方法 User 类有一些返回 User 对象的方法 当我子类化时 这将不
  • 适用于 Windows + C# 的 SMS 网关 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我对短信以及如何发送短信有点困惑 我四处搜寻 发现您可以购买短信 我看到有些地方花 490 美元就能收
  • 命令行动词参数的约定 -a 与 --arg

    我刚刚注意到动词样式命令参数的模式 在 git 和 NET 的 CommandLineParser lib 中 想知道是否有人可以确认 myprog dothis a someArg a arg 单破折号前缀和双破折号前缀有什么区别 单破折
  • 通过迭代自适应阈值和形状分析检测圆形物体簇

    我一直在开发一个应用程序来计算圆形物体 例如图片中的细菌菌落 让这一切变得简单的是 物体通常与背景有很大区别 然而 有一些困难使得分析变得棘手 背景将呈现渐变以及快速的强度变化 在容器的边缘 对象将是椭圆形而不是圆形 物体的边缘有时相当模糊
  • 将 JSON 文件添加到应用程序

    我想向我的应用程序添加一个 JSON 文件并在运行时读取该文件 我在网上查找了如何执行此操作 但大多数信息都与读取文件有关 我在网上找不到任何有关如何使文件在运行时可用的信息 大多数在线内容似乎都是从捆绑包中读取 但我不知道如何创建捆绑包或
  • 原始图像应使用哪种 MIME 类型?

    原始图像 https en wikipedia org wiki Raw image format由相机 扫描仪等生成 通常比 JPEG 图像提供更多的后处理灵活性 如果我从 Web 服务器提供此类文件 我应该使用哪种媒体类型 也称为 MI
  • 从 JTabbedPane 中删除蓝色

    这是我第一次使用 JTabbedPane 看起来默认的外观和感觉在选项卡上和组件本身周围显示蓝色边框 我怎样才能禁用该效果 好吧 有一种简单快速的方法可以通过将 LookAndFeel 设置为 SystemLookAndFeel 或任何其他
  • 如何指定使用 bitbake/yocto 构建哪个内核

    我正在努力使用 yocto daisy 生成新的 BSP 当我构建图像时 我收到以下警告 NOTE Resolving any missing task queue dependencies NOTE multiple providers
  • 如何在Android中使用Intent连接已知的WiFi?

    我有这样的事情 wifiNetworks ArrayList
  • 接口错误(0,'')

    我已经使用 Django 构建了一个网站 当我尝试执行查询时 我收到了这个恼人的错误 如果我重新启动 Apache 服务器 该错误将在短时间内消失 Traceback File usr local lib python2 7 site pa
  • Add-ADGroupMember 找不到具有标识的对象

    我正在编写一个 PowerShell 脚本来将大量用户导入到 AD 中 其中一项是根据用户的程序编号将用户添加到 AD 安全组 大多数情况下 这工作得很好 除非我拼写错误 或者其他简单的人为错误 但是 我们有 2 个安全组 每个人都必须添加
  • Prism WPF 动态区域

    假设我们有一个包含模块 A 和 B 的 Prism 7 应用程序 主窗口有一个选项卡控件和两个按钮 用于将模块 A 或 B 添加到选项卡控件 我为选项卡控制项创建了一个绑定 并实现了一个项模板 其中包括 Prism Region 其名称绑定