MVVM 多视图

2023-12-29

我正在尝试学习 MVVM,到目前为止进展顺利,我偶然发现了一种我不知道如何实现的情况..

我想要的: - 具有左侧导航和右侧详细信息窗格的视图..右侧详细信息将有一个内容容器,其中包含我的用户控件,以便通过左侧窗格选择视图

我拥有的 : - 主视图模型 - 我数据库中每个实体的视图模型

我的问题 : - 由于我将在我的 MAINVIEWMODEL 中拥有 VIEWMODELS 的 ObservableCollection (按照我正在构建我的应用程序的示例),我是否为每个 MODEL 实体创建一个公共属性,该属性将用于我在 UserControls 中定义的数据绑定??


您可以为所有要显示在右侧的 ViewModel 创建一个基本类型。(我们将其称为基础内容视图模型) 然后你的左侧列表框将被绑定到ObservableCollection<BaseContentViewModel>ListBox 的 SelectedValue 将绑定到一个新的MainViewModel.SelectedContent类型的属性基础内容视图模型.

在右侧,您需要有一个 ContentControl所选内容绑定到内容控制.内容

现在只需在资源 XAML 中将不同的 UserControls 定义为 DataTemplates 即可(通常在 MVVM 中称为 ViewToViewModelMapping)

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

MVVM 多视图 的相关文章

随机推荐

  • Protractor - 当 DOM 元素更改时,页面对象不会更新

    我正在测试使用 angular js 构建的 SPA 并使用页面对象模式来编写我的测试 在应用程序中 我们有许多将要更新的列表 例如 有一个附件列表 当添加 删除附件时 该列表将会更新 要添加附件 我们有一个模式窗口 当我们上传文件并单击
  • Python/Matplotlib - 调整绘图边缘与 x 轴之间的间距

    如何调整 x 轴和绘图窗口边缘之间的间距 我的 x 轴标签是垂直方向的 它们超出了 Matplotlib 绘制的窗口的边缘 这是一些示例代码 import matplotlib pyplot as plt x 1 2 3 4 5 y 1 2
  • GStreamer 插件搜索路径?

    我可以以某种方式告诉 GStreamer 在指定目录中查找插件吗 Use the GST PLUGIN PATH环境变量指向您想要的目录 或者以编程方式调用 GstRegistry registry registry gst registr
  • Oracle 使用代理模式创建数据库链接

    所以我想在 oracle 中创建一个数据库链接 我的用户名是 jefferson 我想通过 opms 连接 所以我被告知这样做 create database link tmpp connect to jefferson opms iden
  • 使用 PHP 在菜单项上设置活动类

    我有一个简单的菜单 ul li 元素和一个class active 来标记当前页面 一个变量被传递 get 通过 url 选择特定页面 pg PAGE 我对 php 相当陌生 仍在学习中 这工作得很好 但我觉得应该有一个更简单 更短的方法
  • 在 Javascript 中反转数字而不使其成为字符串[重复]

    这个问题在这里已经有答案了 谁能告诉我我的代码哪里出错了 我正在尝试反转数字而不将其更改为字符串 我一直在搜索谷歌并浏览了之前提出的有关该主题的问题 从我可以看到我的代码反映了其他答案 我只能找到不使用 to string 方法的 Java
  • Android中如何声明全局变量?

    我正在创建一个需要登录的应用程序 我创建了主要活动和登录活动 在主要活动中onCreate方法我添加了以下条件 public void onCreate Bundle savedInstanceState super onCreate sa
  • 使用反射获取属性的字符串名称

    有大量的反射示例可以让您获得 一个类中的所有属性 单个属性 前提是您知道字符串名称 有没有一种方法 使用反射 TypeDescriptor 或其他方式 在运行时获取类中属性的字符串名称 前提是我拥有 的只是类和属性的实例 我有一个类的实例
  • 如何将数据推送到 iPhone 应用程序?

    我是 iPhone 应用程序开发新手 我无法弄清楚如何将数据推送到应用程序 具体来说 我试图找到一种方法将新数据 用户帖子 从服务器推送到应用程序 而无需用户刷新 下拉刷新 有可能吗 有一个接近的解决方案 使用Apple推送通知服务 它允许
  • 连接字符串无法按预期工作[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道这是一个常见问题 但在寻找参考
  • aws_iam_policy 和 aws_iam_role_policy 之间的区别

    我有一个aws iam role我想添加一个策略 通常 我会创建一个策略aws iam role并将其附加到角色上aws iam role policy attachment 但是 我看过一些使用的文档aws iam role policy
  • 如何从另一个分支获取更改

    我目前正在研究featurex分支 我们的主分支被命名为our team 自从我开始工作以来featurex 对分支进行了更多更改our team 我在本地完成此操作是为了获取所有最新更改our team git checkout our
  • 将 PEM 证书解析为 JSON

    我有 PEM 证书并且正在使用openssl查看其内容 是否可以将输出解析为 JSON 格式 也许有一个 Java 库或 Bash 脚本可以做到这一点 命令 openssl x509 in sample cer noout text out
  • 无法将函数并行映射到 tarfile 成员

    我有一个包含 bz2 压缩文件的 tar 文件 我想应用该功能clean file到每个 bz2 文件 并整理结果 在系列中 使用循环很容易 import pandas as pd import json import os import
  • Python:将标志传递给函数

    很长一段时间以来 我一直试图找出将标志传递给 python 函数的最佳方法 最直接的方法是这样的 def func data flag1 flag2 flag3 func my data True False True 这确实很好而且简洁
  • Ajax div 刷新后 Jquery Masonry 相互加载

    我正在使用 ajax 刷新包含图像的 div 我最初使用砌体来添加布局 然后ajax调用返回一个js 使用html 方法刷新div 现在完成后我打电话masonry reloadItems 但砌体将所有图像加载到另一图像上 调整页面大小后
  • 如何在android中解析这个JSON数组

    我想要每个标签的名称 电子邮件和图像 我必须在列表元素中显示 response name Brajendra Mishra email email protected cdn cgi l email protection address I
  • 在 Python 中使用互斥锁和并发 future

    我有一些代码使用并发 future 连接到许多远程主机来运行一些命令 例如 def set host to host value connection connect to host info do something with conne
  • 从底部开始将元素附加到 div?

    我有以下代码 button click function parent append div element div parent height 200px width 100px border 1px solid ccc div div
  • MVVM 多视图

    我正在尝试学习 MVVM 到目前为止进展顺利 我偶然发现了一种我不知道如何实现的情况 我想要的 具有左侧导航和右侧详细信息窗格的视图 右侧详细信息将有一个内容容器 其中包含我的用户控件 以便通过左侧窗格选择视图 我拥有的 主视图模型 我数据