WPF DataGrid中DataGridColumn的系结Visible属性

slmsl1lt  于 2022-11-18  发布在  其他
关注(0)|答案(4)|浏览(185)

无法将WPF datagridtextcolumn的Visible属性绑定到布尔值。
我的约束性表达是,

{Binding Path=DataContext.IsThisColumnVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},Converter={StaticResource vc}}

我已经检查了转换器是否工作(bool到可见性枚举)并且在范围内。
如果对列标题使用相同的表达式,则标题将按预期显示“false”。
Visible是依赖属性,因此应该是可绑定的。
有人看到我做错了什么吗?或者其他人能够绑定到可见属性吗?
此致!
马特

qij5mzcb

qij5mzcb1#

我解决了这个问题。
DataGridCOlumn不是架构项目,因此FindAncestor呼叫失败(DataGridColumn不是视觉化树形结构的一部分)
必须将绑定表达式的source属性设置为staticresource,它才能正常工作。

eit6fx6z

eit6fx6z2#

很难从这么少的代码中判断。Visual Studio的“输出”窗口(在“调试”下)中有什么?这通常会给予您一个关于问题的线索。

gopyfrb3

gopyfrb33#

我也在寻找同样的东西,并找到了一个execellent的方式来做它在an article about forwarding datacontext to columns

w46czmvw

w46czmvw4#

如果可以从代码绑定,则可以使用

BindingOperations.SetBinding(DatagridColumInstance,
                             DatagridColum.VisibilityProperty,
                             myNewBindDef);

相关问题