问题:因为DataGridColumns不是可视树的一部分,无法继承datagrid的datacontext,以下提供两种解决方案
一、代理类
定义Proxy类
View页面应用:
二、代元素
在用户控件的Resources里加一个代理FrameworkElement,绑定控件的datacontex,并设置为不可见
将DataGridColumn的Visibility绑定Datacontext中的属性,比如IsEnable、或NoVisibility,Source采用x:Reference dummyElement,必要情况下,再添加Converter转换