0

我在 WPF 中有一个 Datagrid 和一个列选择对话框:

<DataGrid Margin="10,10,10,5" ItemsSource="{Binding ClientView, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="True"  AutoGeneratingColumn="DataGrid_AutoGeneratingColumn" IsReadOnly="True" />
<Border BorderBrush="Black" BorderThickness="1" Margin="{Binding ContextMargin}" HorizontalAlignment="Left" VerticalAlignment="Top">
    <ItemsControl ItemsSource="{Binding ElementName=DGrid, Path=Columns}" Background="WhiteSmoke" HorizontalAlignment="Left">
         <ItemsControl.ItemTemplate>
              <DataTemplate>
                    <CheckBox IsChecked="{Binding Visibility, Converter={StaticResource VisibilityToBoolConv}}" Margin="5,3,5,3" Content="{Binding Header}"/>
              </DataTemplate>
          </ItemsControl.ItemTemplate>
    </ItemsControl>
</Border>

这很好用。我现在的问题是:如何获取在我的网格中(不)可见的列以保存它们,并在我的应用程序下次启动后再次加载此设置?我以为我必须将列可见性绑定到任何变量,但我不知道应该怎么做,因为我不知道数据网格的列是如何命名的。那是一个动态值。有谁知道我该如何解决这个问题?

4

0 回答 0