WPF:将DataGrid列标题绑定到ViewModel

时间:2010-09-16 11:15:34

标签: wpf data-binding gridview

我有一个数据网格,我在其中手动指定列(AutoGenerateColumns =“false”)。我正在使用MVVM,我想绑定列标题(文本),以便从我的ViewModel中获取它。但我找不到办法做到这一点。

我发现最接近的是: Wpf Toolkit. Bind DataGrid Column Header to DynamicResource ...这是一个“技巧”,您可以使用该技巧将列标题绑定到XAML中静态声明的字符串。但我需要从我的ViewModel中获取它。

我想要的原因是我想要用作列标题的文本将在整个GUI中的几个位置显示。为了确保它实际上是相同的,我希望在代码中提供它。我无法将字符串存储在XAML资源文件中,因为我还需要在代码中访问这些字符串。

我正在使用TeleRik的RadGridView,但如果我是标准的gridview,我猜我会遇到同样的问题。

任何提示赞赏!谢谢!

1 个答案:

答案 0 :(得分:2)

在Silverlight中,我尝试了以下内容:

<DataGridTextColumn Header="{Binding ElementName=LayoutRoot, Path=DataContext.MyProperty}" ... />

(LayoutRoot是Window / UserControl中的第一个控件,MyProperty是VM中的东西) 它不起作用,因为该列无法访问可视树。

使用Grid可能值得在WPF中尝试。

相关问题