小编Fub*_*zot的帖子

WPF DataGrid:将DataGridColumn绑定到ContextMenu MenuItems IsChecked(MVVM)

我想通过右键单击列标题来控制用户可用的DataGrid列可见性ContextMenu.将ContextMenu显示所有可用的列的名称.我正在使用MVVM设计模式.

我的问题是:如何将绑定DataGridColumnVisibility属性设置IsChecked的属性MenuItem地处ContextMenu.

一些模型代码:

<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>  
Run Code Online (Sandbox Code Playgroud)

... flaf flaf flaf

<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>  
Run Code Online (Sandbox Code Playgroud)

如果我不清楚请告诉我,我会尝试详细说明.

干杯,

wpf xaml binding datagrid mvvm

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

binding ×1

datagrid ×1

mvvm ×1

wpf ×1

xaml ×1