gpt4 book ai didi

c# - 如何在 C# 中使用 XAML 和 WPF 在 MVVM 环境中将 View 绑定(bind)到 Viewmodel

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:15 25 4
gpt4 key购买 nike

如果我想将 View 绑定(bind)到 View 模型,我将以下内容添加到我的 XAML 代码的资源中:

<Window.Resources>
<DataTemplate DataType="{x:Type MyViewModel}" >
<views:MyView />
</DataTemplate>
</Window.Resources>

是否有可能将 (viewmodel,view)-resource-entry 添加到我在 C# 代码中的资源字典中?

以下两行创建 key 并将其添加到字典中:

DataTemplateKey key = new DataTemplateKey(typeof(MyViewModel));
View.WindowName.Resources.Add(key, value);

但是我如何从 MyView 创建值,它必须具有 System.Windows.Baml2006.KeyRecord 类型?

最佳答案

here是关于如何使用 C# 代码创建数据模板的示例。

ps:您的问题标题应该类似于如何使用 C# 代码创建数据模板。顺便说一句,这与 mvvm 无关。更重要的是,这段代码当然不应该进入 View 模型;)

编辑:

DataTemplate temp = new DataTemplate();
temp.DataType = typeof (MyViewModel);

FrameworkElementFactory fac = new FrameworkElementFactory(typeof(MyView));

temp.VisualTree = fac;

View.WindowName.Resources.Add(new DataTemplateKey(typeof(MyViewModel)), temp );

在 xaml 中更容易 :)

关于c# - 如何在 C# 中使用 XAML 和 WPF 在 MVVM 环境中将 View 绑定(bind)到 Viewmodel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com