Mam DocumentListView.Xaml z ListBox i 3 przyciski.WPF/MVVM: Wyłączyć stan przycisku, gdy ViewModel za UserControl nie jest jeszcze zainicjowany?
Za tym UserControl siedzi DocumentListViewModel 3 przyciski i ich mienia polecenia zmierzały do 3 RelayCommands.
Mam 3 kontrolery, takie jak AdministrationController, BillingController, ReportController.
każdy kontroler ma ObservableCollections jak Klienta 1: N Zakonu 1: N Dokumentu samym do innego sterownika.
W jednym kontrolerze mam szczególną sytuację wiążącą. Kiedy mój DocumentListViewModel nie jest zainicjalizowany przez jego rodzica ViewModel jak OrderViewModel (ponieważ żadne zamówienia nie są załadowane/istnieją) to moja UserControl ma 3 przyciski, które są WŁĄCZONE. Ok, użytkownik może nacisnąć 3 przyciski i nic się nie dzieje, ale nadal jest bardzo myląca, a przede wszystkim konsekwencja w interfejsie użytkownika zniknęła.
Jak ustawić domyślne polecenie przycisku jako "Wyłączone"?
Ustawienie właściwości IsEnabled na wartość false nie pomaga, ponieważ przycisk pozostanie na zawsze wyłączony. Nie CanExecute TRUE ustawi go na IsEnabled = true.
I nie chcę wprowadzać innej własności IsButtonEnabled ... to głupie, ponieważ wtedy mam zarówno winformy, jak i wpf za logiką moich przycisków ... ICommand powinno wystarczyć.
W swoim stylu, w jaki sposób właściwość IsEnabled jest ustawiona na PRAWDA? – Elisabeth
Gdy wyzwalacz nie jest trafiony - wywoływana jest normalna procedura. To znaczy. gdy właściwość Command jest ustawiona, a CanExecute ma wartość true. – Goblin
Działa! to się teraz liczy! Dzięki, Goblin. – Elisabeth