![](/img/trans.png)
[英]C# WPF MVVM XAML: Using ContentPresenter Style to display 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.