Tôi có một DocumentListView.Xaml với một ListBox và 3 nút.WPF/MVVM: Vô hiệu hóa trạng thái của nút khi ViewModel phía sau UserControl chưa được khởi tạo?
Đằng sau UserControl đó là một DocumentListViewModel với 3 nút và thuộc tính Command của chúng được liên kết với 3 RelayCommands.
Tôi có 3 Trình điều khiển như AdministrationController, BillingController, ReportController.
Mọi bộ điều khiển đều có thể quan sátCollections như Khách hàng 1: N Đặt hàng 1: N Tài liệu tương tự cho Bộ điều khiển khác.
Trong một Bộ điều khiển, tôi có tình huống ràng buộc đặc biệt. Khi DocumentListViewModel của tôi không được khởi tạo bởi ViewModel cha mẹ của nó như OrderViewModel (vì không có đơn đặt hàng nào được tải/tồn tại) thì UserControl của tôi có 3 nút được ENABLED. Ok người dùng có thể nhấn 3 nút và không có gì xảy ra nhưng vẫn rất khó hiểu và trên tất cả sự nhất quán trong giao diện người dùng của tôi đã biến mất.
Làm cách nào tôi có thể đặt Command of a Button làm mặc định thành "Disabled"?
Đặt các nút IsEnabled property thành false không giúp đỡ vì nút sẽ ở mãi mãi trong trạng thái vô hiệu hóa. No CanExecute TRUE sẽ đặt nó thành IsEnabled = true.
VÀ tôi không muốn giới thiệu một tài sản khác IsButtonEnabled ... mà ngu ngốc bởi vì sau đó tôi có cả hai thế giới winforms và wpf đằng sau nút logic của tôi ... ICommand là đủ.
Với phong cách của bạn, thuộc tính IsEnabled được đặt thành TRUE như thế nào? – Elisabeth
Bất cứ khi nào kích hoạt không được nhấn - thủ tục bình thường được gọi. I E. khi Command-property được thiết lập và CanExecute đánh giá là true. – Goblin
Hoạt động! thats đếm ngay bây giờ! Cảm ơn Goblin. – Elisabeth