/ / Trigger do wyłączania i włączania przycisku - wpf, przycisk, wyzwalacze, style

Wyzwalanie, aby wyłączyć i włączyć przycisk - wpf, przycisk, wyzwalacze, style

Mam listę elementów w siatce danych WPF. Jako źródło używam ObservableCollection. Jedna z kolumn jest również powiązana z polem wyboru do właściwości bool kolekcji. W tym samym oknie poza siatką mam również przycisk. Chcę, aby przycisk był wyłączony, jeśli nie ma rekordu z zaznaczonym polem wyboru = wszystkie elementy mają ustawioną właściwość bool na false.

Myślę, że nie byłoby żadnego problemu, aby zrobić to w codebehind, ale staram się to zrobić w bardziej wpf sposób, używając stylów, wyzwalaczy itp. Ale nie wiem, jak to zrobić.

Odpowiedzi:

2 dla odpowiedzi № 1

Sugerowałbym zastosowanie metody MVVM, która polega na utworzeniu pliku Command który jest DataBound do Button. Jeśli nie używasz już frameworka MVVM, jest ich kilka.

W pryzmacie (jedna możliwość) DelegateCommand ma CanExecute przekazać, które możesz wdrożyć. To CanExecute metoda oceni następnie ObservableCollection przedmiotów i zdecyduj, czy Command może być wykonany (włączony) lub nie (wyłączony). Jeśli ta metoda zwróci false, przycisk zostanie wyłączony.

Wszystkie inne frameworki MVVM będą miały podobne Command skonstruować.

Dokumentacja pryzmatu zawiera świetną dokumentację tego i innych działań związanych z MVVM. Dokumentacja i przykłady specyficzne dla polecenia można znaleźć tutaj.