wpf datagridtemplatecolumn visibility binding

由于datagridtemplatecolumn不在Virsual Tree中,不能继承DataGrid的DataContext,spa

因此想要绑定到datagridtemplatecolumn的 visibility ,须要添加一个代理代理

 

一、在Resources添加FrameworkElement,DataContext绑定为当前DataContextcode

<UserControl.Resources>
        <FrameworkElement x:Key="ProxyElement" DataContext="{Binding}"/>
</UserControl.Resources>

二、添加一个ContentControl,Conent绑定到以上的FrameworkElment(这步的目的是将这个Element添加到VirsualTree)blog

<!--只是将ProxyElement添加到树-->
<ContentControl Content="{StaticResource ProxyElement}" Visibility="Collapsed"/>

三、datagridtemplatecolumn的Visiblity绑定到ProxyElement继承

Visibility="{Binding DataContext.IsManager, Source={StaticResource ProxyElement},Converter={StaticResource ConverterBoolToVisibilityCollapsed}}"
相关文章
相关标签/搜索