Hôm nay tôi đã xem xét ví dụ MSDN để xác thực trên đầu vào của Hộp văn bản WPF (xem thêm: http://msdn.microsoft.com/en-us/library/ms753962.aspx).Tại sao ViewModel không được cập nhật khi WPF TextBox bị vô hiệu?
Trong ứng dụng của riêng tôi, tôi ràng buộc DataContext của khung nhìn vào một ViewModel, sử dụng mẫu MVVM. Một số TextBox là databind đến thuộc tính trên ViewModel và có ValidationRules cụ thể trên chúng.
Điều tôi đã khám phá là khi giá trị bị vô hiệu, sau khi giá trị được xác thực thành công trước đó, giá trị cũ sẽ vẫn còn trong ViewModel. Rất không hợp lý trong quan điểm của tôi, bởi vì các giá trị được sử dụng để thực hiện lệnh chẳng hạn.
Vấn đề chính xác của tôi cũng áp dụng trên ví dụ MSDN đã cho. Giá trị của một TextBox chỉ gửi lại cho nguồn của nó sau khi nó được xác thực thành công. Tôi muốn giữ logic hợp lệ, nhưng nó luôn cập nhật nguồn. Điều này có thể không?
Xin cảm ơn trước.
Hãy thử một cách hoàn hảo để thiết lập BindingMode thành TwoWay: http://msdn.microsoft.com/it-it/library/system.windows.data.bindingmode.aspx – Tigran
Điều bạn muốn trực tiếp chống lại thiết kế/mục đích của cơ chế . Vì vậy: Không thực sự có thể. –
@Tigran, cảm ơn bạn đã trả lời nhưng tiếc là điều đó không tạo nên sự khác biệt. –