Vấn đề:
Nếu tôi DataGrid
không hoàn toàn có thể nhìn thấy (ngang & thanh cuộn dọc đang hiển thị) và tôi bấm vào một trong các tế bào của tôi đó là một phần có thể nhìn thấy, lưới tự động cuộn để mang lại cho rằng tế bào vào xem. Tôi không muốn điều này xảy ra. Tôi đã thử chơi xung quanh với RequestBringIntoView
, như sau:WPF DataGrid: làm cách nào để dừng tự động cuộn khi một ô được nhấp?
private void DataGrid_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
e.Handled = true;
}
Nhưng điều đó không có gì.
Những điều tôi đã cố gắng:
- tế bào của tôi là tùy chỉnh
UserControls
; Tôi đã thử đặt một trình xử lý sự kiện choRequestBringIntoView
trên tất cảUserControls
tạo nên các ô của mình và cố gắng xử lý sự kiện, nghĩ rằng có lẽ tôi không làm đủ bằng cách chỉ xử lýRequestBringIntoView
trên chính bản thân sốDataGrid
. Điều này đã không hoạt động. - Đã lưu trữ
DataGrid
bên trong sốScrollViewer
và xử lý sự kiệnRequestBringIntoView
của . Điều này thực sự hoạt động, và dừng hành vi tự động cuộn, nhưng trong trường hợp của tôi lưu trữDataGrid
bên trong của mộtScrollViewer
không phải là ở tất cả mong muốn, vì vậy tôi cần phải đưa ra một giải pháp khác nhau.
Tôi không chắc chắn cách ngăn chặn hành vi này, bất kỳ ý tưởng nào?
Ý tưởng rất thú vị, tôi sẽ thử! Cảm ơn! :-) –
Hmm ...mà dường như giết chết các quan điểm của tế bào của tôi, đó là cách thích hợp để tạo mẫu cho ô? –
btw, không cần sử dụng bộ phản xạ. nguồn có sẵn tại http://wpf.codeplex.com/SourceControl/list/changesets – kenwarner