如何将列标题绑定到ViewModel中的属性?(WPF MVVM)

use*_*862 6 c# wpf datacontext datagrid mvvm

我有窗口,其中DataContext绑定到ViewModel对象(示例为VM1).VM1有很多属性,其中一个是名为"MyTitle"的字符串.

我在'Window\Grid\DataGrid'中有一个DataGridTextColumn.如何将DataGridTextColumn中的属性"Header"绑定到VM1 ViewModel中的属性"MyTitle"?

谢谢!

Tho*_*que 19

不幸的是,列的定义DataGrid没有继承DataContext,因为它们不是可视化树的一部分,所以你不能直接绑定到ViewModel.您需要采用一种解决方法,例如本文中描述的解决方法:

<DataGrid.Resources>
    <local:BindingProxy x:Key="proxy" Data="{Binding}" />
</DataGrid.Resources>

...

<DataGridTextColumn Header="{Binding Data.MyTitle, Source={StaticResource proxy}}"/>
Run Code Online (Sandbox Code Playgroud)

  • 给这个人一枚奖章!非常感谢你做的这些!效果很好! (2认同)