在设置我的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;
答案 0 :(得分:1)
将VisabilityList格式化为字符串。您需要将其保留为可见性。
答案 1 :(得分:0)
好的,事实证明DataGridColumn不会从DataGrid继承DataContext,因为它不在逻辑(或可视)树中,所以这就是我的绑定不起作用的原因。
显示了一个解决方法here