我在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>
工作正常。 我现在的问题是: 如何获取我的网格中可见的列以保存它们,并在下次启动应用程序后再次加载此设置? 我认为我必须将列可见性绑定到任何变量,但我不知道应该怎么做,因为我不知道如何命名datagrid的列。这是一个动态值。有谁知道如何解决这个问题?