У меня возникли проблемы при попытке вызвать событие щелчка после выполнения команды. Я пытаюсь следовать стилю разработки MVVM.
Вот сценарий:
В моем приложении у меня есть сетка 2 на N кнопок, где N - это динамически загружаемый набор кнопок (иногда это будет 2 x 2, иногда 5 x 9, я не знаю). Первоначально все столбцы кнопок будут скрыты, кроме первого столбца. При нажатии на первый столбец запускается команда, и воспроизводится анимация с постепенным исчезновением, которая показывает определенные кнопки из второго столбца, в зависимости от того, какая кнопка была нажата в первом столбце. Например, если щелкнуть верхнюю кнопку в первом столбце, отобразятся первые четыре кнопки во втором столбце, тогда как нижняя кнопка в первом столбце отобразит первые три кнопки во втором столбце.
Вот проблема:
Для каждой кнопки я устанавливаю CommandParameter для каждой из кнопок в первом столбце. Когда команда выполняется, данные обрабатываются, и в виртуальной машине устанавливается свойство, которое сообщает, какая кнопка была нажата (я просто снова использую CommandParameter). Во время обработки данных я хочу отобразить следующий набор кнопок для пользователя. У меня есть событие click, которое берет CommandParameter из виртуальной машины и воспроизводит анимацию, чтобы показать правильные кнопки.
Однако проблема в том, что WPF любит сначала выполнять событие Click до запуска команды. Это проблема, поскольку свойство в виртуальной машине, которое сообщает, какая кнопка была нажата, не установлено!
Так что это подводит меня к паре вопросов ...
1) Есть ли способ выполнить команду до запуска события?
2) Я правильно делаю? : P