WPF DataGrid列重复

时间:2018-08-06 23:27:56

标签: c# wpf datagrid

我将DataGrid绑定到一个列表,并且在我启动程序时,所有内容都已加载DataGrid显示了列表的所有内容,但是重复了两次列,就像在图片中一样。 DataGrid image

这是我的DataGrid代码。谁能帮忙为什么会这样?

<DataGrid x:Name="componenttable" Height="140" IsReadOnly="True" CanUserAddRows="False" ItemsSource="{Binding Component, Mode=OneWay}" Margin="12,105,10,0" VerticalAlignment="Top">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID" Binding="{Binding Id}"/>
            <DataGridTextColumn Header="Maker" Binding="{Binding Maker}"/>
            <DataGridTextColumn Header="Model" Binding="{Binding Model}"/>
            <DataGridTextColumn Header="Notes" Width="600" Binding="{Binding Notes}"/>
            <DataGridTextColumn Header="Price" Binding="{Binding Price}"/>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Command="{Binding DataContext.changeCommand, ElementName=componenttable}" CommandParameter="{Binding Path=Id}" >Change</Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Width="*">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Command="{Binding DataContext.deleteComponentCommand, ElementName=componenttable}" CommandParameter="{Binding Path=Id}">Delete</Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

1 个答案:

答案 0 :(得分:0)

您需要将AutoGenerateColumns="False"添加到DataGrid标记中。