【问题标题】:WPF: Binding DataGrid column header to ViewModelWPF:将 DataGrid 列标题绑定到 ViewModel
【发布时间】:2011-04-13 04:04:47
【问题描述】:

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

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

我想要这样做的原因是我想用作列标题的文本将显示在整个 GUI 的多个位置。为了确保它实际上在任何地方都是一样的,我想在代码中使用它。而且我无法将字符串存储在 XAML 资源文件中,因为我还需要在代码中访问这些字符串。

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

感谢任何提示!谢谢!

【问题讨论】:

    标签: wpf data-binding gridview


    【解决方案1】:

    在 Silverlight 中,我尝试了以下方法:

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

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

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

    【讨论】:

    • 在 WPF 4.5 中对我不起作用。错误“找不到框架导师”。我正在使用 DataGridTemplateColumn
    猜你喜欢
    • 2012-02-23
    • 2010-10-13
    • 1970-01-01
    • 2011-04-30
    • 2011-01-12
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多