Hiện tại chúng tôi có một số DataGrid
được gắn với DataTable
. Nó cũng có một cột mẫu với một CheckBox
trong nó mà chúng ta thêm vào theo chương trình. Mục đích của cột này là theo dõi nhiều lựa chọn trong số DataGrid
.Vấn đề hiển thị ảo hóa DataGrid hàng
Nhà máy được sử dụng để tạo CheckBox
es cho mỗi hàng.
Có một vài bản ghi, vì vậy việc ảo hóa hàng được đặt thành true để hiệu suất có thể chấp nhận được. Tuy nhiên, chúng ta đang thấy một vấn đề lạ khi chúng ta kiểm tra một số CheckBox
es trên 10 hàng đầu tiên và sau đó cuộn xuống khoảng 50 hàng (lưới có khoảng 10 hàng có thể nhìn thấy bất kỳ lúc nào), có một số khác CheckBox
es dường như được kiểm tra ngẫu nhiên.
Nếu chúng tôi tắt tính năng ảo hóa hàng thì vấn đề này không tồn tại (nhưng hiệu suất là khủng khiếp). Có cách nào để khắc phục điều này? Bất cứ ai biết những gì chúng tôi có thể làm sai?
khi bạn nói hiệu suất là khủng khiếp sau khi xóa ảo hóa, thật khủng khiếp khi tải hoặc khi cuộn. Nếu nó được tải, có một giải pháp mà sẽ làm cho nó không khủng khiếp, trên di chuyển là một vấn đề khác ... –
Nó chỉ được tải. Tất cả các hit hiệu suất là trên Show phương pháp của cửa sổ có chứa DataGrid. Với việc ảo hóa hàng, nó sẽ hiển thị 200ms để hiển thị với 2.500 bản ghi trong DataGrid. Nếu không có ảo hóa hàng thì mất 28 giây. – WPFNewbie
đã thêm một số mã cho bạn ... chỉ cần tinh chỉnh hiệu suất tại nơi làm việc vài ngày trước, hoạt động như một nét duyên dáng –