我有一個(gè)DataGrid并正在加載一些自定義類(lèi)型的數(shù)據(jù)。還有一個(gè)Checkbox column。選中復(fù)選框時(shí),當(dāng)前行數(shù)據(jù)由以下代碼獲取。對(duì)于第一個(gè)復(fù)選框,沒(méi)關(guān)系。然后我選中另一個(gè)復(fù)選框,它被選中但是當(dāng)我滾動(dòng)瀏覽數(shù)據(jù)時(shí),我看到其他一些行復(fù)選框被自動(dòng)選中!當(dāng)我再次上去時(shí),我第一次選擇的復(fù)選框現(xiàn)在未選中,其他一些被自動(dòng)選中!我用于檢查事件的代碼。private void CheckBox_Checked(object sender, RoutedEventArgs e){ var selectedOrder = MyDataGrid.SelectedItem as AutoOrderClass; if (selectedOrder != null) { var order = SelectedOrdersList.FirstOrDefault(x => x.VendorName == selectedOrder.VendorName); if (order == null) { OrdersCount++; TotalOrders.Text = "Total Orders : " + OrdersCount; } SelectedOrdersList.Add(selectedOrder); }} 這是 Xaml<DataGrid x:Name="MyDataGrid" VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" AutoGenerateColumns="False" HorizontalScrollBarVisibility="Auto" Height="{Binding ActualHeight, ElementName=DataGridContainerPanel}"> <DataGrid.Columns> <DataGridCheckBoxColumn x:Name="CheckBoxColumn" Header="Select"> <DataGridCheckBoxColumn.CellStyle> <Style> <EventSetter Event="CheckBox.Checked" Handler="CheckBox_Checked"/> <EventSetter Event="CheckBox.Unchecked" Handler="CheckBox_Unchecked"/> </Style> </DataGridCheckBoxColumn.CellStyle> </DataGridCheckBoxColumn> </DataGrid.Columns></DataGrid> 這是正在發(fā)生的事情的圖片!第一張照片:一切正常,只選擇了第一行第二張圖片:選擇另一張但看到第三列被自動(dòng)選中當(dāng)我向下滾動(dòng)時(shí)我看到其他一些也被選中第 3 張圖片:現(xiàn)在我向上滾動(dòng)并看到第一個(gè)復(fù)選框被自動(dòng)取消選中怎么辦?
WPF DataGrid 自動(dòng)選擇復(fù)選框錯(cuò)誤?
哆啦的時(shí)光機(jī)
2022-12-24 15:00:55