我正在开发一个 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;
     }
}
有帮助吗?

解决方案

在环顾四周之后我在@Generic_Error上发现了这个问题和答案。我稍微修改了他的代码,这是我想出来的,我可以进一步定制。

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 );
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top