DataGridColumns不是可视化树的一部分,因此它们未连接到的数据上下文
DataGrid。
为了让他们 连接 在一起,使用像这样的代理元素方法…
frameworkElement
在祖先面板的中添加代理Resources
。ContentControl
将其托管到与其无形的绑定中Content
。- 将其
ProxyElement
用作StaticResource
可见性绑定中的数据上下文源。<StackPanel><StackPanel.Resources> <local:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" /> <frameworkElement x:Key="ProxyElement" DataContext="{Binding}"/></StackPanel.Resources><ContentControl Visibility="Collapsed" Content="{StaticResource ProxyElement}"/><DataGrid AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Visibility="{Binding DataContext.IsTextColumnVisibile, Source={StaticResource ProxyElement}, Converter={StaticResource BooleanToVisibilityConverter}}" Binding="{Binding Text}"/> </DataGrid.Columns></DataGrid>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)