Wpf DataGrid: изменение привязки поля XML во время выполнения - PullRequest
1 голос
/ 29 апреля 2009

Я разрабатываю Пользовательский элемент управления WPF для отображения частей файлов XML. Я пытаюсь сделать пользовательский элемент управления гибким, чтобы я мог назначать заголовки столбцов и привязки данных поля извне элемента управления.

Я обнаружил, что могу легко изменить заголовки столбцов, но, хотя следующий код, казалось, обещал, SertMemberPath не меняет привязку поля

public void ChangeColumnDefinitions ( List<XmlGridColumnDefinition> columns )
{
     int columnnum = 0;

     foreach ( XmlGridColumnDefinition column in columns )
     {
         this.datagrid.Columns[columnnum].Header = column.Heading;
         this.datagrid.Columns[columnnum].SortMemberPath = string.Format ( "Element[{0}].Value", column.FieldName );
            ++columnnum;
     }
}

1 Ответ

1 голос
/ 29 апреля 2009

Осмотрев больше, я нашел этот вопрос и ответ @Generic_Error на SO . Я немного изменил его код, и вот что мне пришло в голову, что я могу настроить дальше.

public void ChangeColumnDefinitions ( IEnumerable<XmlGridColumnDefinition> columns )
{
    this.datagrid.Columns.Clear ();

    foreach ( var column in columns )
    {
            DataGridTextColumn coldef = new DataGridTextColumn
            {
                    Header = column.Heading,
                    Binding = new Binding ( string.Format ( "Element[{0}].Value", column.FieldName ) )
            };

            this.datagrid.Columns.Add ( coldef );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...