2013-05-05 3 views
1

У меня есть список элементов в WPat datagrid. В качестве источника я использую ObservableCollection. Один из столбцов также привязывает флажок к свойству bool коллекции. В том же окне, из сетки, у меня есть кнопка. Я хочу, чтобы кнопка была отключена, если нет записи с флажком check = все элементы имеют свойство bool, установленное как false.Триггер для отключения и включения кнопки

Я думаю, что это не было бы проблемой для этого в коде, но я пытаюсь сделать это с помощью wpf, используя стили, триггеры и т. Д. Но я не знаю, как это сделать.

ответ

2

Я бы предложил использовать подход MVVM, который предусматривает создание Command, который является DataBound, до Button. Если вы еще не используете фреймворк MVVM, их несколько.

В Призме (одна возможность) DelegateCommand имеет делегата CanExecute, который вы можете реализовать. Этот метод CanExecute затем оценил бы ваши ObservableCollection элементов и решил, может ли быть выполнен (включен) или нет (0) Command (отключен). Если этот метод возвращает false, кнопка будет отключена.

Все остальные рамки MVVM будут иметь аналогичную конструкцию Command.

Имеется документация по этому и другим видам деятельности, связанным с MVVM, в документации Prism. Документацию и примеры для команд можно найти here.

Смежные вопросы