WPF: Поддерживать состояния путем реализации вкладок с окнами навигации? - PullRequest
0 голосов
/ 17 марта 2011

Я делаю приложение в C # WPF, которое состоит из главного окна NavigationWindow с несколькими страницами, по которым я перемещаюсь для целей проекта.На данный момент я хочу расширить функциональность приложения, добавив второе «состояние» программы.

Вот как я бы хотел, чтобы это работало: По сути, программа является приложением для сбора данных.На данный момент он отображает соответствующую информацию пользовательского интерфейса для базы данных A и позволяет собирать данные именно для этой базы данных.Я хочу расширить программное обеспечение, добавив второй набор элементов пользовательского интерфейса, которые собирают различные данные для базы данных B, и я хочу перемещаться между ними с помощью вкладок вверху (поэтому с помощью tabcontrol и tabitems).

часть, на которой я застрял, это часть поддержания состояний: например, если я на вкладке для базы данных A, я могу перейти к экрану выбора даты и к экрану фактической коллекции, но если я нажму на вкладку длябазы данных B, тогда она все еще вернется к экрану выбора даты, так как я еще ничего там не сделал (по сути, как две программы, запущенные одновременно, на каждой вкладке).

Я попытался увидеть,может изменить корневой элемент программного обеспечения с NavigationWindow на страницу, которая содержит NavigationWindow внутри tabitems (поскольку только Page реализует tabcontrol), но я не выяснил, как это сделать (если это вообще возможно).Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 17 марта 2011

Я вижу два способа сделать это:

  1. Хранить информацию о состоянии вне содержимого вкладки.Таким образом, такие элементы, как CurrentStep, будут отслеживаться на более высоком уровне, чем содержимое TabControl

  2. , или создавать поддельные элементы управления вкладками.Переключение вкладок на самом деле ничего не меняет, а просто изменяет свойство в вашей ViewModel, которое определяет соединение.

В качестве примечания, почему бы не рассмотреть раскрывающийся список для указания базы данных вместоэлемента управления вкладкой?

...