Wpf Datagrid列标题设置
我有一个查询,它通过连接两个实体返回两列,如下所示:Wpf Datagrid列标题设置,wpf,silverlight,datagrid,wpfdatagrid,advanceddatagrid,Wpf,Silverlight,Datagrid,Wpfdatagrid,Advanceddatagrid,我有一个查询,它通过连接两个实体返回两列,如下所示: var myQ = myDataContext1.Entity1.Join(myDataContext1.Entity2, a=>a.id, b=>b.id, (a, b)=> new Tuple<int, float>(a.id, b.something)).ToList(); MyDatagrid.ItemSources = myQ; 所有数据都将消失,因为绑定名称一定是错误的。但我不知道我应该把下面的装
var myQ = myDataContext1.Entity1.Join(myDataContext1.Entity2, a=>a.id, b=>b.id, (a, b)=> new Tuple<int, float>(a.id, b.something)).ToList();
MyDatagrid.ItemSources = myQ;
所有数据都将消失,因为绑定名称一定是错误的。但我不知道我应该把下面的装订。。。
然后,我试着
MyDataGrid.Columns[0]。Header=“myID”
它不起作用,每次都告诉我列集合中没有列。因此,我认为头的更改必须在加载datagrid并添加事件之后发生:
MyDataGrid.loaded += (o, e) =>{MyDataGrid.Columns[0].Header = "myID"};
还是同样的错误。。。。。你知道我应该在这里做什么吗?谢谢。绑定需要是Item1和Item2。您还应该将AutoGenerateColumns设置为false,最好在XAML中定义列。乙二醇
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Item1}" Header="Header 1"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=Item2}" Header="Header 2"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
您最好使用匿名类型而不是元组。这样,绑定可能更有意义。将MikeKulls的代码转换为C:
myDataGrid.Columns.Add(newdatagridtextcolumn{Header=“myHeader”Binding=newsystem.Windows.Data.Binding(“Item1”))代码>谢谢。我将其转换为C#,如下所示,它工作正常:myDataGrid.Columns.Add(newdatagridtextcolumn{Header=“myHeader”Binding=new System.Windows.Data.Binding(“Item1”);
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Item1}" Header="Header 1"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=Item2}" Header="Header 2"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>