我的窗口具有绑定(bind)到 ViewModel 对象(例如 VM1)的 DataContext。 VM1 有很多属性,其中之一是名为“MyTitle”的字符串。
我在“Window\Grid\DataGrid”中有一个 DataGridTextColumn。如何将 DataGridTextColumn 中的属性“Header”绑定(bind)到我的 VM1 ViewModel 中的属性“MyTitle”?
谢谢!
最佳答案
不幸的是,DataGrid
的列定义不继承DataContext
,因为它们不是可视化树的一部分,所以不能直接绑定(bind)到 View 模型。您需要求助于 this article 中描述的解决方法:
<DataGrid.Resources>
<local:BindingProxy x:Key="proxy" Data="{Binding}" />
</DataGrid.Resources>
...
<DataGridTextColumn Header="{Binding Data.MyTitle, Source={StaticResource proxy}}"/>
关于c# - 如何将列标题绑定(bind)到 ViewModel 中的属性? (WPF MVVM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16965615/