绑定WPF Datagrid列的Visibility属性?我的错在哪里?

时间:2011-10-03 18:23:33

标签: wpf binding datagrid visibility

在设置我的WPF DataGrid列的循环中,我想使用以下代码将列可见性绑定到“VisibilityList”中的成员“i”:

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 个答案:

答案 0 :(得分:1)

将VisabilityList格式化为字符串。您需要将其保留为可见性。

答案 1 :(得分:0)

好的,事实证明DataGridColumn不会从DataGrid继承DataContext,因为它不在逻辑(或可视)树中,所以这就是我的绑定不起作用的原因。

显示了一个解决方法here