簡體   English   中英

WPF DataGrid:在運行時更改XML字段綁定

[英]Wpf DataGrid : changing the XML field binding at runtime

我正在開發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;
     }
}

看了更多之后,我在SO上找到了@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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM