2010-07-07 4 views
0

Начну с того, что я пытаюсь следовать за MVVM настолько, насколько могу, поэтому я хотел бы сделать следующее, используя только Binding.WPF делится настройкой столбца DataGrid (шаблон? Style?)

У меня есть несколько DataGrids, показывающих различные ObservableCollections одного и того же типа данных. Как определить, какие столбцы и их пути привязки будут отображаться во всех DataGrids?

Не похоже, что я могу установить стиль для DataGrid.Column. Цель состоит в том, чтобы все DataGrids отображали одну и ту же информацию DataGrid.Column, но только с одной копией.

Любые идеи?

ответ

1

Определите свой DataGrid как ресурс.

Затем, вы можете «ссылка» сетку данных в нескольких областях вашего окна или приложения, как это:

<ContentControl Content="{StaticResource myDataGrid}"></ContentControl> 

Вы можете изменить DataContext в ContentControl так что DataGrids будут связаны с различными источниками данных ,

+0

Чтобы уточнить, в приведенном выше примере кода я предполагаю, что DataGrid имеет ключ «myDataGrid». – ChrisNel52

+0

Как установить параметры, которые могут отличаться от DataGrids, например HeadersVisibility? – bufferz

+0

Вариант 1: Если значение HeadersVisibility определяется связанным свойством, то привяжите HeadersVisibility к соответствующему свойству и используйте ValueConverter для преобразования значения свойства в правильное значение HeadersVisiblity. Вариант 2. Создайте UserControl вместо определения DataGrid как ресурса. Внутри UserControl определите свой DataGrid и некоторые свойства зависимостей, которые можно использовать для установки правильного значения HeadersVisibility. – ChrisNel52

Смежные вопросы