WPF Datagrid记录显示几次

时间:2013-03-27 10:54:27

标签: c# wpf wpf-controls

我设计了下面的DataGrid,并用三个列进行了映射。我通过Linq拍摄了记录并分配了Grid。但是这个网格几次都在显示记录。 我不知道这是什么行为?如何解决这个问题?

<DataGrid Name="workgrid" ItemsSource="{Binding it}" Margin="12,152,0,148" HorizontalAlignment="Left" Width="517">
        <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Width="100" Binding="{Binding PersonName}" />
        <DataGridTextColumn Header="Place" Width="100" Binding="{Binding Place}" />
        <DataGridTextColumn Header="Amount" Width="100" Binding="{Binding Amount}" />
        </DataGrid.Columns>
    </DataGrid>


var objResult = from c in objEntities.PersonAccounts
        select new { c.PersonName, c.Amount, c.Place };

workgrid.ItemsSource = objResult;  

Anu帮助或建议将不胜感激!!!

1 个答案:

答案 0 :(得分:0)

将AutoGenerateColumns设置为false:

<DataGrid AutoGenerateColumns="False" Name="workgrid" ItemsSource="{Binding it}" Margin="12,152,0,148" HorizontalAlignment="Left" Width="517">
    <DataGrid.Columns>
    <DataGridTextColumn Header="Name" Width="100" Binding="{Binding PersonName}" />
    <DataGridTextColumn Header="Place" Width="100" Binding="{Binding Place}" />
    <DataGridTextColumn Header="Amount" Width="100" Binding="{Binding Amount}" />
    </DataGrid.Columns>
</DataGrid>

此外,您不需要通过绑定明确设置ItemsSource。只需使用一个。