WPF --- 如何以Binding方式隐藏DataGrid列
原文中文,约7000字,阅读约需17分钟。
📝
内容提要
本文介绍了如何以Binding的方式动态隐藏DataGrid列。作者首先创建了数据源People和控制列隐藏的IsVisibility,并使用VisibilityConverter将布尔值转化为Visibility。然后在界面中绑定IsVisibility,并使用转化器转化为Visibility,最后增加一个CheckBox控制是否显示列。作者发现直接找DataContext的方式无法生效,因为DataGridColumn不在可视化树中。为了解决这个问题,作者借助了System.Windows.Freezable抽象类,创建了一个自定义Freezable类,实现了预期功能。最后作者欢迎读者留言讨论更优雅的方案。
🏷️