Я создаю приложение в стиле мастера на 2 страницы. Каждая страница мастера будет пользовательским элементом управления, который затем используется в одном окне, используемом для всего приложения. Мой вопрос касается кнопок, которые мне нужны для каждого пользовательского элемента управления.
Первая страница подключится к базе данных и будет иметь кнопку Закрыть и кнопку Подключить. Кнопка «Закрыть» выйдет из приложения, а кнопка «Подключить» выполнит некоторую проверку. При подключении, если есть какие-либо ошибки, пользовательский элемент управления сообщит об этом пользователю. Если ошибок нет, приложению нужно будет передать некоторые данные второму пользовательскому элементу управления и затем перейти к нему.
На второй странице отобразится сводная информация о задачах, которые будут выполнены, и кнопка «Закрыть», которая выйдет из приложения, а также кнопка «Выполнить». Нажатие кнопки «Выполнить» запускает некоторые длительные задачи, которые обновляют интерфейс управления пользователем. Кнопка «Закрыть» станет недоступной, а текст кнопки «Выполнить» станет кнопкой «Отмена», которая позволит пользователю отменить выполнение. Когда выполнение завершится (либо потому, что оно завершено, либо потому, что пользователь отменил), кнопка «Закрыть» снова включится, а кнопка «Отмена» изменится на «Готово». Нажатие на любую из этих кнопок приведет к выходу из приложения (хотя позже я могу изменить поведение Finish, чтобы сделать что-то еще до его выхода).
Будучи новичком в WPF и происходя из фона WinForms, я не уверен в правильном «пути WPF» для использования этих кнопок и в том, как они должны быть подключены.
Мои вопросы:
- Должны ли эти кнопки быть размещены в пользовательском элементе управления или в окне вне пользовательских элементов управления?
Если размещено в окне:
- В настоящее время каждый пользовательский элемент управления требует 2 кнопки, но что произойдет, если это изменится в будущем?
- Каков правильный механизм кнопки в окне для запуска действия в пользовательском элементе управления?
- Каков правильный механизм пользовательского контроля для изменения текста или включения / выключения кнопок в окне?
Если размещено в пользовательском элементе управления:
- Каков правильный механизм для пользовательского элемента управления, чтобы уведомить окно о переходе на следующую страницу?
- Это может быть тот же ответ, что и выше, каков правильный механизм для пользовательского элемента управления, чтобы уведомить окно, чтобы сделать что-то еще (например, выйти из приложения).
Большое спасибо заранее.