请问如果把两个list绑定到一个datagrid中
<Window x:Class="DataContext切换测试.多个LIST绑定"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DataContext切换测试"
mc:Ignorable="d"
Title="多个LIST绑定" Height="300" Width="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="1" Name="dgMain">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding main1.id}" Header="id" />
<DataGridTextColumn Binding="{Binding main1.value}" Header="value" />
<DataGridTextColumn Binding="{Binding main2.name}" Header="name"/>
<DataGridTextColumn Binding="{Binding main2.age}" Header="age"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace DataContext切换测试
{
/// <summary>
/// 多个LIST绑定.xaml 的交互逻辑
/// </summary>
public partial class 多个LIST绑定 : Window
{
List<t1> lt1 = new List<t1>()
{
new t1() { id = "1", value = "v1" },
new t1() { id = "2", value = "v2" },
};
List<t2> lt2 = new List<t2>(){
new t2() { id = "1", name = "t21",age="a1" },
new t2() { id = "2", name = "t22",age="a2" },
new t2() { id = "3", name = "t23",age="a3" },
new t2() { id = "4", name = "t24",age="a4" },
};
public 多个LIST绑定()
{
InitializeComponent();
//这样拼装没有结果
dgMain.DataContext = new
{
main1 = lt1,
main2 = lt2,
};
//这样拼装是不行的
//dgMain.ItemsSource = new
//{
// main1 = lt1,
// main2 = lt2,
//};
}
public class t1
{
public string id { get; set; }
public string value { get; set; }
}
public class t2
{
public string id { get; set; }
public string name { get; set; }
public string age { get; set; }
}
}
}