首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF DataGrid:将DataGridColumn可见性绑定到ContextMenu MenuItems IsChecked (MVVM)

WPF DataGrid:将DataGridColumn可见性绑定到ContextMenu MenuItems IsChecked (MVVM)
EN

Stack Overflow用户
提问于 2009-10-13 15:12:11
回答 6查看 24.4K关注 0票数 10

我希望通过用户可用的ContextMenu控制DataGrid列可见性,方法是右键单击列标题。ContextMenu将显示所有可用列的名称。我使用的是MVVM设计模式。

我的问题是:如何将DataGridColumnVisibility属性绑定到位于ContextMenu中的MenuItemIsChecked属性。

一些模型代码:

代码语言:javascript
运行
复制
<UserControl.Resources>         
    <ContextMenu x:Key="ColumnHeaderContextMenu">  
        <MenuItem Header="Menu Item..1" IsCheckable="True" />  
    </ContextMenu>  
    <Style x:Key="ColumnHeaderStyle" 
           TargetType="{x:Type toolkit:DataGridColumnHeader}">  
        <Setter Property="ContextMenu" 
                Value="{StaticResource ColumnHeaderContextMenu}" />  
    </Style>  
    <BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter" />  
</UserControl.Resources>  

...flaf前缀

代码语言:javascript
运行
复制
<toolkit:DataGrid x:Name="MyGrid" AutoGenerateColumns="False" 
    ItemsSource="{Binding MyCollection, Mode=Default}" 
    EnableColumnVirtualization="True" IsReadOnly="True" 
    ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}">  
    <toolkit:DataGrid.Columns>  
        <toolkit:DataGridTextColumn Binding="{Binding Path=MyEntry}" 
            Header="MyEntry" Visibility="{Binding IsChecked, Converter=
                {StaticResource booleanToVisibilityConverter}.... />
    </toolkit:DataGrid.Columns>     
</toolkit:DataGrid>  

如果我不清楚,请让我知道,我会尝试详细说明。

干杯,

EN

Stack Overflow用户

发布于 2010-05-14 06:17:32

您可以使用x: booleanToVisibilityConverter代替静态

代码语言:javascript
运行
复制
<Setter TargetName="UIElement"  Property="UIElement.Visibility" Value="x:Static Visibility.Hidden" />

XAML中的静态:http://msdn.microsoft.com/en-us/library/ms742135.aspx

票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1560871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档