Tôi đã có một hộp thoại WPF đơn giản với hai kiểm soát này:WPF MVVM: TextBox và Button mặc định ràng buộc thực hiện cập nhật quá muộn
<TextBox Text="{Binding MyText}"/>
<Button Command="{Binding MyCommand}" IsDefault="True"/>
Bây giờ, khi tôi nhập một số văn bản trong TextBox và nhấp vào nút sử dụng chuột, mọi thứ hoạt động như mong đợi: TextBox sẽ đặt MyText và MyCommand được gọi.
Nhưng khi tôi nhập một số văn bản và nhấn enter để "bấm" nút mặc định, nó không hoạt động. Kể từ khi nhấn vào tiêu điểm không rời khỏi TextBox, ràng buộc sẽ không làm mới MyText. Vì vậy, khi MyCommand được gọi (hoạt động), MyText sẽ chứa dữ liệu cũ.
Làm cách nào để khắc phục sự cố này trong MVVM? Trong mã cổ điển phía sau tôi có lẽ chỉ cần gọi "MyButton.Focus()" trong trình xử lý MyCommand, nhưng trong MVVM, trình xử lý MyCommand không biết gì về nút.
Vậy hiện tại là gì?
Vì vậy, tôi cần phải thêm điều này vào mọi ràng buộc (vì luôn có các nút có thể truy cập phím tắt của tôi)? – Sam