
正文
wpf datagridtemplatecolumn visibility binding
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
因为datagridtemplatecolumn不在Virsual Tree中,不能继承DataGrid的DataContext,
所以想要绑定到datagridtemplatecolumn的 visibility ,需要添加一个代理
1、在Resources添加FrameworkElement,DataContext绑定为当前DataContext
<UserControl.Resources>
<FrameworkElement x:Key="ProxyElement" DataContext="{Binding}"/>
</UserControl.Resources>
2、添加一个ContentControl,Conent绑定到以上的FrameworkElment(这步的目的是将这个Element添加到VirsualTree)
<!--只是将ProxyElement添加到树-->
<ContentControl Content="{StaticResource ProxyElement}" Visibility="Collapsed"/>
3、datagridtemplatecolumn的Visiblity绑定到ProxyElement
Visibility="{Binding DataContext.IsManager, Source={StaticResource ProxyElement},Converter={StaticResource ConverterBoolToVisibilityCollapsed}}"







