绑定DataGrid中的多个列表

时间:2015-01-15 07:52:02

标签: c# wpf xaml datagrid

我有两个ObservableCollection

List1 = new ObservableCollection<ManagementFunctionModel>();

List2 = new ObservableCollection<ManagementFunctionModel>();

这两个列表都有自己的数据。在我的xaml中,是否可以将我的Datagrid绑定到两个不同的列表中?理想情况下,我想在button1click上绑定List1,在button2click上绑定List2。我的xaml低于

<DataGrid Name="grid" HorizontalAlignment="Stretch" ItemsSource="{Binding List1}" Margin="0,0,0,50" VerticalAlignment="Stretch" AutoGenerateColumns="False" CanUserAddRows="False">
  <DataGrid.Columns>
    ...
    ...
  </DataGrid.Columns>
</DataGrid>

1 个答案:

答案 0 :(得分:1)

您无法在单个DataGrid上将ItemsSource设置两次到两个不同的列表。

但是,您可以创建一个新的自定义类,它将两个ManagementFunctionModel对象保存在一个类中:

public class ManagementFunctionPair
{
   public ManagementFunctionModel First { get; set; }
   public ManagementFunctionModel Second { get; set; }
}

然后,使用ManagementFunctionPair的ObservableCollection,并将其绑定到DataGrid:

list = new ObservableCollection<ManagementFunctionPair>();