Связать свойство Visibility столбца WPF Datagrid? Где моя вина? - PullRequest
0 голосов
/ 03 октября 2011

В цикле, который устанавливает мои столбцы WPG DataGrid, я хочу связать видимость столбца с элементом 'i' в моем 'VisibilityList' со следующим кодом:

var bindingColumnVisibilty = new Binding(string.Format("VisibilityList[{0}]", i));
BindingOperations.SetBinding(customBoundColumn, DataGridColumn.VisibilityProperty, bindingColumnVisibilty);

Я установил DataContext до начала цикла:

TestControlDataGrid.TestDataGrid.DataContext = dataGridSource;

Класс dataGridSource содержит:

public List<Visibility> VisibilityList;

Это не похоже на работу. Правильно ли я настроил свой DataContext и привязку? Имеет ли значение, что после этого цикла я установил ItemsSource со следующим?

TestDataGrid.ItemsSource = dataGridSource.DataList;

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Вы форматируете VisabilityList в строку. Вы должны оставить его как видимость.

0 голосов
/ 05 октября 2011

Хорошо, получается, что DataGridColumn не наследует DataContext от DataGrid, поскольку он не находится в логическом (или визуальном) дереве, поэтому мое связывание не работает.

Один из способовпоказано здесь

...