WPF: привязка заголовка столбца DataGrid к ViewModel - PullRequest
1 голос
/ 16 сентября 2010

У меня есть сетка данных, в которой я вручную указываю столбцы (AutoGenerateColumns = "false").Я использую MVVM, и я хотел бы связать заголовок столбца (текст), чтобы я получил его из моей ViewModel.Но я не могу найти способ сделать это.

Самое близкое, что я нашел, это: Wpf Toolkit.Привязать заголовок столбца DataGrid к DynamicResource ..., что является «уловкой», с помощью которой можно привязать заголовок столбца к строке, статически объявленной в XAML.Но мне нужно получить его из моей ViewModel.

Причина, по которой я хочу это сделать, заключается в том, что текст, который я хочу использовать в качестве заголовка столбца, будет отображаться в нескольких местах по всему графическому интерфейсу.Чтобы убедиться, что это на самом деле одинаково везде, я хочу, чтобы это было доступно в коде.И я не могу сохранить строки в файле ресурсов XAML, потому что мне также нужен доступ к этим строкам в коде.

Я использую RadGridView от TeleRik, но я предполагаю, что у меня возникнет та же проблема, еслиЯ стандартный gridview.

Любые советы приветствуются!Спасибо!

1 Ответ

2 голосов
/ 16 сентября 2010

В Silverlight я пробовал следующее:

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

(LayoutRoot - это первый элемент управления в Window / UserControl, MyProperty - это что-то в виртуальной машине) Это не работает, поскольку столбец не имеет доступа к визуальному дереву.

Возможно, стоит попробовать в WPF с вашей сеткой.

...