C# 在WPF DataGrid中绑定DataGridColumn的可见属性
我无法将WPF datagridtextcolumn的Visible属性绑定到布尔值 我的约束表达式是C# 在WPF DataGrid中绑定DataGridColumn的可见属性,c#,wpf,data-binding,C#,Wpf,Data Binding,我无法将WPF datagridtextcolumn的Visible属性绑定到布尔值 我的约束表达式是 {Binding Path=DataContext.IsThisColumnVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},Converter={StaticResource vc}} 我已经检查了转换器是否工作(bool到可见性枚举)并且在范围内 如果对列的标题使用相同的表达式,
{Binding Path=DataContext.IsThisColumnVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},Converter={StaticResource vc}}
我已经检查了转换器是否工作(bool到可见性枚举)并且在范围内
如果对列的标题使用相同的表达式,则标题将按预期显示“false”
Visible是一个依赖属性,因此应该是可绑定的
有人知道我做错了什么吗?或者是否有其他人能够绑定到visible属性
问候,
马特因为代码太少,所以很难说。Visual Studio的“输出”窗口(在“调试”下)中有什么内容?这通常会给你一个问题的线索。我解决了这个问题 DataGridCOlumn不是框架元素,因此FindAncestor调用失败(DataGridCOlumn不是可视化树的一部分)
必须将绑定表达式的源属性设置为staticresource,它工作正常。如果可以从可以使用的代码进行绑定
BindingOperations.SetBinding(DatagridColumInstance,
DatagridColum.VisibilityProperty,
myNewBindDef);
我也在寻找同样的东西,并找到了一个很好的方法来完成它。是的。转发datacontext是一种方法。类似但更简单的方法:下面是使用StaticResource代理转发DataContext的示例:我使用的是MVVM,它与提供的链接一起工作: