WPF Направленные Команды решают проблему или делают его хуже?

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int)

использовать раздел.

if section == 0 return 100 else if section == 1 return 10

5
задан Fabian Steeg 22 January 2009 в 10:58
поделиться

4 ответа

В дополнение к вещам, уже упомянутым, что Вы забыли в своем определенном примере Вставки, свойства CommandTarget и CommandParameter. Для Вставки можно указать TextBox путем установки как CommandTarget.

Эти свойства абсолютно необходимы, когда хотят использовать тот же RoutedCommand от различных средств управления. Они позволяют Вам давать Выполняемому обработчику некоторую информацию о контексте, в котором вызывается команда.

2
ответ дан 14 December 2019 в 09:02
поделиться

Можно путать понятия.

ICommand взаимодействуйте через интерфейс поддерживает шаблон "команда". Это позволяет Вам абстрактным пользовательским действиям в допускающий повторное использование класс.

Направленные команды являются конкретной реализацией ICommand это перерывает визуальное дерево для обработчиков. Они особенно полезны для команд, которые могут быть реализованы многими различными средствами управления, и Вы хотите, чтобы текущее управление обработало его. Думайте скопировать/вставить. Мог быть целый набор средств управления, которые могли бы обработать его, но при помощи направленной команды, направленная система команд автоматически найдет, что корректное управление обрабатывает команду на основе фокуса.

3
ответ дан 14 December 2019 в 09:02
поделиться

Я одобрил бы использование RoutedCommands и RoutedUICommands при создании средств управления. Например, TextBox реализует UndoCommand для Вас, и Вход guseture уже связывается с Ctrl+Z. При создании Моделей Представления, однако, мое предпочтение для пользовательского ICommand с внутренними реализациями, Выполняются и CanExecute. DelegateCommand обеспечивает это в Призме. Это позволяет view/xaml разработчику только волноваться о команде а не корректных обработчиках Execute/CanExecute для использования. Это допускало бы более выразительную модель представления.

Делегат PS Команды еще не работает (изящно) с InputBindings. Может кто-то в Microsoft фиксировать это!

2
ответ дан 14 December 2019 в 09:02
поделиться

Они могут быть излишеством для некоторых вещей, но Вы действительно извлекаете некоторую хорошую пользу как CanExecute, который может автоволшебно позволить/запретить кнопки/пункты меню, когда команда не доступна (такие как никакой текст, выбранный и т.д.). Можно также сделать материал команды в Смешении, не используя кода, который является большим для разработчиков.

0
ответ дан 14 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: