C# 如何用两个不同的集合数据绑定两个数据网格?

C# 如何用两个不同的集合数据绑定两个数据网格?,c#,wpf,datagrid,C#,Wpf,Datagrid,我有两个数据网格。一个将从疾病表中加载疾病列表,另一个将从刺激物表中加载刺激物列表。问题是它们在我的数据库中具有相同的表名“Id”、“Name”、“Description”。如果(我认为)我绑定它们,可能会变得模棱两可,因为它们的形式相同。因此,除了重命名数据库中的整个表,还有什么方法可以解决这个问题,比如指定要在标记中绑定的表 这是我的疾病表: <DataGrid.Columns> <DataGridTextColumn x:Name="IdColumn" Bindi

我有两个
数据网格
。一个将从疾病表中加载疾病列表,另一个将从刺激物表中加载刺激物列表。问题是它们在我的
数据库中具有相同的表名“Id”、“Name”、“Description”。如果(我认为)我绑定它们,可能会变得模棱两可,因为它们的形式相同。因此,除了重命名
数据库中的整个表
,还有什么方法可以解决这个问题,比如指定要在标记中绑定的表

这是我的疾病表:

<DataGrid.Columns>
    <DataGridTextColumn x:Name="IdColumn" Binding="{Binding Id}" Header="Id" Visibility="Hidden"/>
    <DataGridTextColumn x:Name="DiseaseNameColumn" Binding="{Binding Name}" Header="Name" MinWidth="250" />
    <DataGridTextColumn x:Name="DiseaseDescriptionColumn" Binding="{Binding Description}" Header="Description" MinWidth="250" />
</DataGrid.Columns>

这是我的刺激物表:

<DataGrid.Columns>
    <DataGridTextColumn x:Name="IdColumn" Binding="{Binding Id}" Header="Id" Visibility="Hidden"/>
    <DataGridTextColumn x:Name="IrritantNameColumn" Binding="{Binding Name}" Header="Name" MinWidth="250" />
    <DataGridTextColumn x:Name="IrrirtantDescriptionColumn" Binding="{Binding Description}" Header="Description" MinWidth="250" />
</DataGrid.Columns>

您只需为这两个表指定一个不同的名称:

疾病表:

  <DataGrid x:Name="Diseases">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="IdColumn" Binding="{Binding Id}" Header="Id" Visibility="Hidden"/>
        <DataGridTextColumn x:Name="IrritantNameColumn" Binding="{Binding Name}" Header="Name" MinWidth="250" />
        <DataGridTextColumn x:Name="IrrirtantDescriptionColumn" Binding="{Binding Description}" Header="Description" MinWidth="250" />
    </DataGrid.Columns>
</DataGrid>

刺激物表

  <DataGrid x:Name="Irritants">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="IdColumn" Binding="{Binding Id}" Header="Id" Visibility="Hidden"/>
        <DataGridTextColumn x:Name="IrritantNameColumn" Binding="{Binding Name}" Header="Name" MinWidth="250" />
        <DataGridTextColumn x:Name="IrrirtantDescriptionColumn" Binding="{Binding Description}" Header="Description" MinWidth="250" />
    </DataGrid.Columns>
    </DataGrid>
 <

<
在*.cs后面的代码中,为xaml网格中的加载数据添加此代码

Diseases.ItemsSource=疾病的数组或列表或集合


刺激物.ItemsSource=刺激物的数组或列表或集合

只要您将
ItemsSource
设置为两个不同的来源,其中每个项目都有
Id
名称
说明
,您就没有问题