繁体   English   中英

如何在C#中使用XAML和WPF在MVVM环境中将视图绑定到Viewmodel

[英]Howto bind Views to Viewmodel in a MVVM-Environment with XAML and WPF in C#

如果我想将视图绑定到视图模型,则将以下内容添加到XAML代码的资源中:

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

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

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

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

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

是有关如何使用C#代码创建数据缓冲区的示例。

ps:您的问题标题应该类似于如何使用c#代码创建数据模板。 但这与mvvm没有任何关系。 当然,更多的代码当然不应该进入viewmodel;)

编辑:

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中更容易:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM