【发布时间】:2019-04-21 21:32:40
【问题描述】:
虽然编译运行代码后的结果是一样的,但我发现在.cs文件中定义XAML背后的数据上下文的设计模式有点不同,如下所示
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainViewModel();
}
}
并在这样的 xaml 中进行操作。
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
不同之处在于在设计模式期间在显示窗口中进行编码。当代码在 Xaml 中时,视图很好,它显示了例如元素。对于DataGrid,它显示行数和列数,如果它定义了它的值。
所以,我已经说过我想将 .cs 文件中的以下代码更改为
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
它在 XAML 中的等价物。我尝试使用以下代码
<Window.DataContext>
<local:MainWindow/>
</Window.DataContext>
但它在初始化时抛出异常。有人可以帮我吗。我还是 WPF 数据绑定数据上下文的新手。
谢谢
【问题讨论】:
标签: wpf xaml binding datacontext