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}}"
相關文章
相關標籤/搜索