如何将TextBlock的DataContext设置为XAML中的类

时间:2016-08-01 14:06:44

标签: c# wpf xaml mvvm datacontext

我想在XAML设置datacontext的{​​{1}}。

Resharper建议这个

TextBlock

但是当我出于某种原因运行应用程序时,<TextBlock Text="{Binding name}" Margin="50" d:DataContext="{d:DesignData Class1}" /> 将其作为datacontext作为我在View的代码隐藏中指定的类并显示错误的文本

观看代码隐藏

TextBlock

所以我想显示 public partial class ViewA : UserControl { public ViewA() { InitializeComponent(); VmB vm = new VmB(); DataContext = vm; } } Class1属性,而不是name VmB属性。

2 个答案:

答案 0 :(得分:1)

d:DataContext仅为视觉设计器设置DataContext 。如果您要绑定到班级,则需要将实际 DataContext设置为Class1的实例。从哪里获得该实例以及如何设置它取决于您。

答案 1 :(得分:0)

是的,你只需要从xaml中删除Design部分,就像这样......

<TextBlock Text="{Binding name}" Margin="50" DataContext="{Binding Class1}" />