Механизм для обработки действий кнопок в двухстраничном приложении-мастере - PullRequest
0 голосов
/ 15 мая 2011

Я создаю приложение в стиле мастера на 2 страницы. Каждая страница мастера будет пользовательским элементом управления, который затем используется в одном окне, используемом для всего приложения. Мой вопрос касается кнопок, которые мне нужны для каждого пользовательского элемента управления.

Первая страница подключится к базе данных и будет иметь кнопку Закрыть и кнопку Подключить. Кнопка «Закрыть» выйдет из приложения, а кнопка «Подключить» выполнит некоторую проверку. При подключении, если есть какие-либо ошибки, пользовательский элемент управления сообщит об этом пользователю. Если ошибок нет, приложению нужно будет передать некоторые данные второму пользовательскому элементу управления и затем перейти к нему.

На второй странице отобразится сводная информация о задачах, которые будут выполнены, и кнопка «Закрыть», которая выйдет из приложения, а также кнопка «Выполнить». Нажатие кнопки «Выполнить» запускает некоторые длительные задачи, которые обновляют интерфейс управления пользователем. Кнопка «Закрыть» станет недоступной, а текст кнопки «Выполнить» станет кнопкой «Отмена», которая позволит пользователю отменить выполнение. Когда выполнение завершится (либо потому, что оно завершено, либо потому, что пользователь отменил), кнопка «Закрыть» снова включится, а кнопка «Отмена» изменится на «Готово». Нажатие на любую из этих кнопок приведет к выходу из приложения (хотя позже я могу изменить поведение Finish, чтобы сделать что-то еще до его выхода).

Будучи новичком в WPF и происходя из фона WinForms, я не уверен в правильном «пути WPF» для использования этих кнопок и в том, как они должны быть подключены.

Мои вопросы:

  1. Должны ли эти кнопки быть размещены в пользовательском элементе управления или в окне вне пользовательских элементов управления?

Если размещено в окне:

  1. В настоящее время каждый пользовательский элемент управления требует 2 кнопки, но что произойдет, если это изменится в будущем?
  2. Каков правильный механизм кнопки в окне для запуска действия в пользовательском элементе управления?
  3. Каков правильный механизм пользовательского контроля для изменения текста или включения / выключения кнопок в окне?

Если размещено в пользовательском элементе управления:

  1. Каков правильный механизм для пользовательского элемента управления, чтобы уведомить окно о переходе на следующую страницу?
  2. Это может быть тот же ответ, что и выше, каков правильный механизм для пользовательского элемента управления, чтобы уведомить окно, чтобы сделать что-то еще (например, выйти из приложения).

Большое спасибо заранее.

1 Ответ

0 голосов
/ 15 мая 2011

Для стиля, подобного мастеру, вы должны рассмотреть использование страниц и обработку навигации с помощью NavigationService.

Дополнительную информацию по этой теме можно найти, выполнив поиск в Google [параметр навигации по странице wpf], например, http://www.paulstovell.com/wpf-navigation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...