Tôi có một Menu
nơi mà mỗi MenuItem
thứ bậc trong cấu trúc phân cấp có thuộc Command
tính được đặt thành RoutedCommand
tôi đã xác định. Liên kết CommandBinding
cung cấp một cuộc gọi lại để đánh giá CanExecute
kiểm soát trạng thái kích hoạt của từng trạng thái MenuItem
.
Điều này gần như hoạt động. Các mục menu ban đầu đi kèm với trạng thái được bật và tắt chính xác. Tuy nhiên, khi dữ liệu mà CanExecute
cuộc gọi lại của tôi sử dụng thay đổi, tôi cần lệnh để yêu cầu lại kết quả từ cuộc gọi lại của mình để trạng thái mới này được phản ánh trong UI.
Dường như không có bất kỳ phương pháp công khai nào trên RoutedCommand
hoặc CommandBinding
cho việc này.
Lưu ý rằng cuộc gọi lại được sử dụng lại khi tôi nhấp hoặc nhập vào điều khiển (tôi đoán nó được kích hoạt khi nhập vì quá trình di chuột qua không gây ra làm mới).