代码之家  ›  专栏  ›  技术社区  ›  kenny

WPF数据报:在运行时更改XML字段绑定

  •  1
  • kenny  · 技术社区  · 16 年前

    我正在开发一个 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 回复  |  直到 9 年前
        1
  •  1
  •   Community CDub    7 年前

    在看了更多我 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 );
        }
    }