Resource中的DataTemplate将ViewModel设置为View,但随后

2023-12-12

我试图找出将视图的数据上下文设置为视图模型的多种不同方法。

我现在正在关注的一个内容是这样的:

我有我的主窗口资源:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:vw="clr-namespace:DemoStuffPartII.View"
                xmlns:vm="clr-namespace:DemoStuffPartII.ViewModel">

<DataTemplate DataType="{x:Type vm:PersonViewModel}">
    <vw:PersonView />
</DataTemplate>

但这也是我立即陷入困境的地方。我知道我应该在视图中使用 ContentControl。但配置它的最佳方法是什么?这件事该怎么办呢?


这就是您可以在 MVVM 应用程序中启用 ViewSwitching 导航的方式。

其他缺失的部分是: 在视图中->

<ContentControl Content="{Binding CurrentPage}" />

在 ViewModel -> (伪代码)

Prop ViewModelBase CurrentPage.

但请注意,如果您只想将 ViewModel 连接到 View,则可以完全删除整个 DataTemplate-ContentControl 事物,然后执行此操作。DataContext = new SomeViewModel();在隐藏代码中。

我知道将虚拟机连接到视图的最简洁的方法是使用 ViewModelLocator 模式。谷歌视图模型定位器。

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

Resource中的DataTemplate将ViewModel设置为View,但随后 的相关文章

  • 如何使WPF TreeView风格成为WinForms TreeView?

    WPF 默认的 TreeView 非常好 我仍然希望它有连接每个子元素的线 就像 Windows 窗体 TreeView 一样 我在网上搜索了一些例子 但设计得不够好 我怎样才能用WPF实现它 让我回答我自己的问题 Code 您需要做的只是
  • 同步用户控件中多个属性的绑定

    我的 WPF 用户控件有一个丑陋的竞争条件 它是某种扩展的 ComboBox UserControl主要定义了两个可绑定的DependencyProperties 一个是选中项 另一个是一个列表 可以从列表中选择选中项 两者都是可绑定的 因
  • MVVM 在 iOS 中的使用

    我是一名 iOS 开发人员 我对我的项目中存在大量视图控制器感到内疚 因此我一直在寻找更好的方法来构建我的项目 并遇到了 MVVM 模型 视图 视图模型 架构 我读了很多关于 iOS 的 MVVM 文章 但有几个问题 我将用一个例子来解释我
  • 在两个屏幕上拉伸 WPF 窗口

    我是 WPF 的初学者 我希望我的应用程序能够跨越两个具有相同分辨率的屏幕 我需要一个示例代码应用程序 因为我不知道从哪里开始 谢谢 The Screen课程将为您提供有关所有屏幕的信息 在之前没有实际做过的情况下 我会尝试以下操作 int
  • 自己绘制的WPF自定义滑块

    这是我关于堆栈溢出的第一个问题 所以不要踢它 我在尝试创建 Mac 风格的滑块控件时遇到问题 我已经发现这个解决方案 http www codeproject com KB miscctrl MAC Slider aspx我已经在我的解决方
  • WPF - 使用 DataTemplates 将数据绑定到 StackPanel

    我修改了我的问题 因为它在尝试时改变了焦点 我将问题缩小到以下范围 我尝试将 TreeView 的选定项绑定到 StackPanel 或可以容纳用户控件的其他容器 然后 该容器将显示一个 UserControl 具体取决于所选项目的类型 这
  • 在 WPF 中的不同控件上显示验证错误模板

    我有一个UserControl包含其他控件和TextBox 它有一个Value绑定到的属性TextBox文本并有ValidatesOnDataErrors设置为 True 当验证错误发生时Value属性绑定 错误模板 标准红色边框 显示在整
  • WPF 自动完成框和 Enter 键

    我试图让 WPF AutoCompleteBox 在按下 Enter 键时引发 KeyDown 事件 我使用的是普通的 KeyDown 挂钩 它适用于除 Enter 键之外的所有内容 有谁知道我该如何解决这个问题 You could inh
  • 如何在 XAML 中根据窗口或屏幕大小设置网格列最大宽度

    我的窗口中有一个 3 列网格 第一列上有一个 GridSplitter 我想将第一列的 MaxWidth 设置为父窗口或页面的三分之一Width or ActualWidth 并且如果可能的话我更愿意在 XAML 中执行此操作 这是一些在
  • 当未附加到调试器时,样式 TargetType 会导致 XamlParseException

    我有一组非常简单的样式 正在几个不同的 WPF 应用程序中使用 我将此样式存储在公共项目的 Xaml 文件中 然后通过合并到Resources in App xaml在每个项目中
  • 是否可以在 WPF 中的资源字典后面设置代码以进行事件处理?

    是否可以在 WPF 中的资源字典后面设置代码 例如 在按钮的用户控件中 您可以在 XAML 中声明它 按钮单击的事件处理代码是在控件后面的代码文件中完成的 如果我要创建一个带有按钮的数据模板 如何在资源字典中为其按钮单击编写事件处理程序代码
  • WPF - 防止用户操作在应用程序繁忙时排队

    当应用程序繁忙时 意味着 UI 线程被阻止执行某些操作 您建议采用什么方法来忽略用户请求 例如鼠标单击 具体的例子可能是网格控件的排序 如果我们说排序很慢 那么在操作运行时 我想忽略额外的用户点击 这些点击会堆积并多次执行操作 除了诉诸禁用
  • 如何覆盖系统托盘图标? WPF

    我有一个像这样的窗口
  • 根据项目类型和视图选项切换 ListBox ItemTemplate

    我目前正在 WPF 中实现一个列表框 其项目有 2 个替代布局 到目前为止 我已经使用了DataTrigger切换ItemTemplate为了ListBox并且运行良好
  • WPF DataGrid 验证错误?

    这可能是预期的功能 但对我来说它确实像是一个错误 我正在使用开箱即用的 WPF DataGrid 绑定到 ObservableCollection 和尝试使用一些验证规则来提供良好的用户反馈 不用说 问题多得我数不过来 但我会坚持眼前的问题
  • 最小化图像的内存消耗列表框(WPF)

    I have listbox which bind to ObservableCollection and take filename to display images 我的xaml是
  • ComboBox.SelectedValue 未从绑定源更新

    这是我的绑定源对象 Public Class MyListObject Private mylist As New ObservableCollection Of String Private selectedName As String
  • XAML - 带有触发器/参数的通用文本框样式?

    我希望能够拥有一个通用样式模板 可以根据布尔值切换文本框的颜色 但我不想为每个文本框创建独特的样式 我该怎么做呢 我在下面放置了一些示例代码 我希望它如何工作 三个文本框 均具有不同的绑定 但尝试使用相同的模板基于布尔值选择红色或绿色 Th
  • Android Compose MVVM - 如何在不带参数的 Composable 函数中引用 viewModel 对象?

    将如何 Composable ContentFeed 函数访问viewModel哪个是在活动中创建的 依赖注入 或者这是一种错误的做事方式 这viewModel应该始终只有一个实例 MainActivity kt class MainAct
  • 按下按钮时更改几何绘图画笔的颜色

    我创建了一个按钮模板 有一个图像和一个标签 图像的来源位于 ResourceDictionary Pictures 中 图片的来源是具有白色画笔颜色的 DrawingImage

随机推荐