Member 13947785 Ответов: 1

C# WPF странное поведение флажка в datagrid


Я создал Datagrid с 3 столбцами. Один из столбцов-это флажок. Флажок используется для выбора элемента в сетке данных.

Я использовал приведенный ниже код XAML для создания datagrid. Там нет кода, за которым взаимодействует о проверке флажка. Однако, когда я ставлю галочки и прокручиваю вниз. Некоторые из флажков, которые я никогда не проверял, становятся проверенными. Кроме того, флажки, которые я случайно проверил, остаются отмеченными или снятыми. Я снял эту проблему и загрузил ее на youtube. Вы можете найти ссылку ниже. Я добавил субтитры, чтобы объяснить, что происходит.

Кто-нибудь имеет представление о том, почему это происходит и как это остановить?

<DataGrid x:Name="Lbox" CanUserDeleteRows="False" Margin="10,86,519.333,-0.333"
                        ItemsSource="{Binding Items}" CanUserAddRows="false" AutoGenerateColumns="False">
                        <DataGrid.Columns>
                            <DataGridTemplateColumn Header="DUT">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <CheckBox x:Name="checkboxinstance"/>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <DataGridTextColumn Binding="{Binding DraadNr}" Header="DraadNr" IsReadOnly="True"/>
                            <DataGridTextColumn Binding="{Binding Naam}" Header="Draadlijst" IsReadOnly="True" />
                        </DataGrid.Columns>
                    </DataGrid>


ютуб[^]

Что я уже пробовал:

Я погуглил эту проблему, но не смог найти проблему, которая была бы почти такой же, как моя.

1 Ответов

Рейтинг:
2

TABiSH777

Это происходит из-за виртуализации данных, вы можете решить эту проблему, применив следующий код к элементу управления datagrid

VirtualizingPanel.VirtualizationMode="Standard"

Для получения дополнительной информации о виртуализации вы можете проверить это
ссылка


Member 13947785

Когда я прокручиваю вниз с помощью VirtualizationMode на Standard. Только последний отмеченный флажок останется отмеченным. Другой снимите галочку