绑定WPF DataGrid中DataGridColumn的可见属性
我无法将WPF datagridtextcolumn的Visible属性绑定到布尔值。
我的约束表达是,
{Binding Path=DataContext.IsThisColumnVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},Converter={StaticResource vc}}
我检查过转换器是否工作(bool到可见性枚举)并且在范围内。
如果我对列的标题使用相同的表达式,则标题会按预期显示“false”。
Visible是一个依赖属性,因此应该是可绑定的。
谁知道我做错了什么? 或者是否有其他人能够绑定到visible属性。
问候,
马特
我解决了这个问题。
DataGridCOlumn不是框架元素,因此FindAncestor调用失败(DataGridColumn不是可视树的一部分)
必须将绑定表达式的source属性设置为staticresource,它可以正常工作。
我正在寻找相同的东西,并在一篇关于将datacontext转发到列的文章中找到了一种非常好的方法。
很难说你的代码很少。 Visual Studio的“输出”窗口(在“调试”下)中有什么? 这通常可以为您提供问题的线索。
如果您可以使用代码绑定
BindingOperations.SetBinding(DatagridColumInstance, DatagridColum.VisibilityProperty, myNewBindDef);