我想在WPF应用程序中保存和恢复列datagrid的大小和顺序。 我将这些数据存储在两个列表中:
List<DataGridColumn>
List<SortDescription>
DataGridColumn和SortDescription是MSDN类不可序列化的。 我想将这些列表保存在文件(xml或txt ...)
中请问最简单的方法是什么?
祝你好运, Nixeus
答案 0 :(得分:3)
我强烈建议您不要将其保存为DataGridColumn
或SortDescription
的列表。
相反,您应该创建自己的轻量级POCO,该POCO与该技术无关,并包含重新创建列布局所需的数据。因为这是您自己的数据对象,所以它可以按照您喜欢的方式进行序列化,但更好的是它不直接与Microsoft DataGrid绑定。这样,如果您换掉Microsoft(WPF扩展工具包)网格,那么您的列设置将很容易转移到您使用的新网格。
当您从存储数据对象的列表中重新水化数据对象列表时,您可以简单地遍历列表,为每个数据对象创建一列,并设置适当的列值。
答案 1 :(得分:0)
将其存储为例如
List<Tuple<string, ListSortDirection, int, etc.>>
其中string是列名,ListSortDirection指定排序方向,int是索引等。您可以轻松地序列化此类型。