Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf Datagrid列标题设置_Wpf_Silverlight_Datagrid_Wpfdatagrid_Advanceddatagrid - Fatal编程技术网

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>