目标是让用户隐藏/显示/移动/调整列的大小,保存此布局,并能够在应用重新启动时恢复它。 我会先告诉你我是怎么做到的。在 GridView.Columns 上,我附加到 CollectionChanged 以及每个 Column.With 依赖属性。当任何事件被触发时,我将列的顺序、可见性和宽度保存到一个专有字符串中,我将其保存到一个 XML 设置文件中。 但在我看来,这是相当多的手动工作——是否有流行的现有组件或做法来保存 Columns 布局?
最佳答案
您可以将列保存在 XAML 中吗?经过快速测试,它似乎保存了相关信息。我从这个开始:
<GridView>
<GridView.Columns>
<GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}"/>
<GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/>
<GridViewColumn Header="Age" DisplayMemberBinding="{Binding Age}"/>
</GridView.Columns>
</GridView>
在调整大小并移动一些之后,我调用了 XamlWriter.Save
在 GridView.Columns
上得到这个:
<GridViewColumnCollection xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<GridViewColumn Width="108.51" DisplayMemberBinding="{Binding Path=FirstName}">First Name</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Age}">Age</GridViewColumn>
<GridViewColumn Width="83.8533333333333" DisplayMemberBinding="{Binding Path=LastName}">Last Name</GridViewColumn>
</GridViewColumnCollection>
关于wpf - 在 WPF 中保留 ListView 列布局的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651683/