绑定WPF DataGrid中DataGridColumn的可见属性

Mat*_*dle 3 c# data-binding wpf

我无法将WPF datagridtextcolumn的Visible属性绑定到布尔值.

我的约束表达是,

{Binding Path=DataContext.IsThisColumnVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},Converter={StaticResource vc}}
Run Code Online (Sandbox Code Playgroud)

我检查过转换器是否工作(bool到可见性枚举)并且在范围内.

如果我对列的标题使用相同的表达式,则标题会按预期显示"false".

Visible是一个依赖属性,因此应该是可绑定的.

谁知道我做错了什么?或者是否有其他人能够绑定到visible属性.

问候,

马特

Mat*_*dle 8

我解决了这个问题.

DataGridCOlumn不是框架元素,因此FindAncestor调用失败(DataGridColumn不是可视树的一部分)

必须将绑定表达式的source属性设置为staticresource,它可以正常工作.

  • 以下是使用StaticResource代理转发DataContext的示例:http://tomlev2.wordpress.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-遗传/ (8认同)