C# Wpf DataGrid:在运行时更改XML字段绑定
我正在开发一个用于显示XML文件部分的WPF用户控件。我试图使用户控件灵活,以便可以从控件外部分配列标题和字段数据绑定 我发现我可以很容易地更改列标题,但尽管下面的代码似乎有希望,但SertMemberPath不会更改字段绑定C# Wpf DataGrid:在运行时更改XML字段绑定,c#,wpf,data-binding,datagrid,C#,Wpf,Data Binding,Datagrid,我正在开发一个用于显示XML文件部分的WPF用户控件。我试图使用户控件灵活,以便可以从控件外部分配列标题和字段数据绑定 我发现我可以很容易地更改列标题,但尽管下面的代码似乎有希望,但SertMemberPath不会更改字段绑定 public void ChangeColumnDefinitions ( List<XmlGridColumnDefinition> columns ) { int columnnum = 0; foreach ( XmlGridCol
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;
}
}
public void ChangeColumnDefinitions(列表列)
{
int columnnum=0;
foreach(列中的XmlGridColumnDefinition列)
{
this.datagrid.Columns[columnnum].Header=column.Heading;
this.datagrid.Columns[columnnum].SortMemberPath=string.Format(“元素[{0}].Value”,column.FieldName);
++柱状细胞;
}
}
在查看更多信息后。我稍微修改了他的代码,下面是我提出的,我可以进一步定制
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 );
}
}
public void ChangeColumnDefinitions(IEnumerable列)
{
this.datagrid.Columns.Clear();
foreach(列中的var列)
{
DataGridTextColumn coldef=新DataGridTextColumn
{
标题=列。标题,
Binding=新绑定(string.Format(“元素[{0}].Value”,column.FieldName))
};
this.datagrid.Columns.Add(coldef);
}
}
在查看更多信息后。我稍微修改了他的代码,下面是我提出的,我可以进一步定制
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 );
}
}
public void ChangeColumnDefinitions(IEnumerable列)
{
this.datagrid.Columns.Clear();
foreach(列中的var列)
{
DataGridTextColumn coldef=新DataGridTextColumn
{
标题=列。标题,
Binding=新绑定(string.Format(“元素[{0}].Value”,column.FieldName))
};
this.datagrid.Columns.Add(coldef);
}
}