Tôi có Trang trong ứng dụng kiểu điều hướng WPF hiển thị kết quả tìm kiếm. Trang này chứa một số điều khiển ràng buộc dữ liệu. Trang chính nó hoạt động tốt; nó thực hiện tìm kiếm và trả về kết quả. Các điều khiển CheckBox bị ràng buộc dữ liệu hoạt động bình thường.Ràng buộc dữ liệu WPF MVVM bị hỏng sau khi điều hướng trang
Nhưng nếu tôi nhấp vào liên kết kết quả và sau đó nhấp vào nút quay lại để quay lại danh sách kết quả, tất cả các liên kết dữ liệu CheckBox.IsChecked
bị hỏng. Các điều khiển ràng buộc dữ liệu khác (ComboBoxes, DatePickers, vv) tiếp tục hoạt động như mong đợi. Liên kết với các thuộc tính khác trên điều khiển Hộp kiểm, như IsEnabled
, hoạt động bình thường. Nhưng ràng buộc IsChecked
vẫn bị hỏng cho đến khi tôi làm mới trang.
Đây là XAML sử dụng cho một trong các điều khiển CheckBox tôi:
<CheckBox IsChecked="{Binding IncludeNote}" Content="Note" IsEnabled="{Binding IsBusy, Converter={StaticResource boolNot}}" />
Như bạn thấy, không có gì lạ mắt xảy ra ở đây là. Nhưng sau khi điều hướng ứng dụng WPF tiến lên hoặc lùi về phía trang, ràng buộc IsChecked
sẽ bị hỏng trong khi thuộc tính IsEnabled
sẽ tiếp tục hoạt động.
Điều gì đang xảy ra ở đây? Đây có phải là một lỗi?
CẬP NHẬT: Sau khi chơi xung quanh với một số lựa chọn thay thế, tôi phát hiện ra rằng vấn đề này cũng ảnh hưởng đến điều khiển ToggleButton, mà CheckBox xuất phát từ đó.
CẬP NHẬT 2: Và nó cũng bị hỏng cho thuộc tính TextBox.Text.
Có cách nào để "làm mới" các ràng buộc dữ liệu cho các điều khiển này không? Hoặc tôi có nên thực hiện một số cách tiếp cận khác để gỡ rối vấn đề này không?
Vấn đề lớn nhất ở đây là nó có thể nhanh chóng dẫn đến rò rỉ bộ nhớ. – ouflak