Сбой XAMLWriter для столбцов DataGrid - PullRequest
1 голос
/ 21 апреля 2011

Я использую XAMLWriter для сериализации некоторых элементов управления.Это хорошо работает для других элементов управления, но не для DataGrid.Во-первых, он не может сериализовать столбцы DataGrid, что очень раздражает (если у кого-то есть решение, отлично!), Поэтому мне удается найти обходной путь.Этот код:

DataGrid dataGrid = new DataGrid();
DataGridTextColumn dgTextColumn = new DataGridTextColumn();
dataGrid.Columns.Add(dgTextColumn);
XamlWriter.Save(dataGrid);

Производит этот вывод: <DataGrid />

Нет столбцов вообще! Итак, я понял, что я могу добавить столбцы как элементы:

DataGrid dataGrid = new DataGrid();
DataGridTextColumn dgTextColumn = new DataGridTextColumn();
dataGrid.Items.Add(dgTextColumn);//notice the change
XamlWriter.Save(dataGrid);

И я получил этот вывод, которого мне достаточно:

<DataGrid >
     <DataGridTextColumn />
</DataGrid>

Чем я могу вручную добавить <DataGrid.Columns> и </DataGrid.Columns>

Может кто-нибудь объяснить мне, почему XAMLWriter ведет себя такэто, и есть ли способ успешно сериализовать столбцы DataGrid?

Ответы [ 2 ]

1 голос
/ 21 апреля 2011
0 голосов
/ 21 апреля 2011

Колонны и предметы - это не одно и то же.Свойство items предназначено для содержимого данных сетки данных.Во втором примере кода вы добавляете столбцы как элементы.

См. Ниже объяснение, почему столбцы не сериализуются, и решение: Невозможно сериализовать DataGridTextColumn в DataGrid с XamlWriter.Save

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...