【问题标题】:Wpf DataGrid : changing the XML field binding at runtimeWpf DataGrid:在运行时更改 XML 字段绑定
【发布时间】:2009-04-29 13:14:17
【问题描述】:

我正在开发一个 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;
     }
}

【问题讨论】:

    标签: c# wpf data-binding datagrid


    【解决方案1】:

    环顾四周后,我found this question and answer by @Generic_Error on 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 );
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-06-01
      • 2011-05-14
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 2022-12-17
      • 1970-01-01
      • 2011-02-25
      相关资源
      最近更新 更多