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 动态区域 的相关文章

  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • TextBlock TextWrapping 不换行 #2

    好吧 那么this https stackoverflow com questions 6625177 textblock textwrapping not wrapping解决方案没有帮助 XAML 在这里
  • C# 获取数据表中所有重复行的计数

    我通过运行存储过程来填充数据集 并且从数据集中填充数据表 DataSet RawDataSet DataAccessHelper RunProcedure storedprocedureName this will just return
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • 我们可以通过指针来改变const定义的对象的值吗?

    include
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内

随机推荐

  • 如何在 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 其名称绑定