2011-01-29 3 views
0

В настоящее время я пытаюсь создать приложение, для которого потребуются 10+ разных «страниц» с различным контентом и элементами управления, и мне нужно переключаться между ними на определенные события.Как легко переключаться на различные разделы приложения

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

У этого есть несколько недостатков, я предполагаю, что он очень плохой с точки зрения кодирования, и это в значительной степени не позволяет мне использовать конструктор вообще. (я не знаю, какие последствия для производительности у него есть)

Кроме того, каждый раз, когда я переключаюсь на новую страницу, мне нужно сбросить все компоненты (текстовые поля и т. д.) до их состояний по умолчанию, так как они не сбрасывайся, став невидимыми: P

на мой вопрос: мне нужен способ наметить все разные страницы, обеспечить визуально привлекательные переходы между ними и иметь возможность использовать конструктор для их создания (и я не имею в виду проектируя его где-то, а затем просто копируя xaml)

Я осмотрелся и побежал в SketchFlow, и это казалось идеальным решением, я мог исчезать между страницами и легко отображать все на блок-схеме, и тогда я понял, что это только для прототипов приложений, и я не мог фактически скомпилировать его как обычное приложение ... и мне также нужно было наследовать от пользовательского класса Window.

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

примечание: это АБСОЛЮТНО должно оставаться в пределах одного окна. я склоняюсь к тому, чтобы иметь 10 + разных окон, которые появляются каждый раз, когда мне нужно что-то менять. так как это происходит очень часто.

ответ

3

Разделите отдельные разделы в отдельных элементах управления пользователя. Это позволит вам легко проектировать каждый из них. Затем в вашей форме используйте код для создания и загрузки нового экземпляра конкретного пользовательского элемента управления, который представляет раздел, который вам нужно показать, и при переходе загрузите новый раздел и выгрузите текущий. это позволит вашей форме оставаться относительно легким.

Альтернативой является создание навигационного приложения и разделение разделов на отдельный вид XAML и использование стандартной навигационной службы для переключения между ними.

WPF Navigation Overview
Creating Navigation Applications видеоурок

+0

Мне нравится ваша идея управления пользователя, я, скорее всего, смотреть на это, но что это навигационное приложение, что вы говорите? позаботиться о том, чтобы получить более подробную информацию или предоставить ссылки? – caesay

+0

Добавлены некоторые ссылки на ответ, чтобы вы начали работу с навигационными приложениями. –

+0

выглядит как приложения для навигации не то, что я искал .. но спасибо за ссылку. – caesay

2

Вы могли бы хотеть преобразовать «Страницы» в UserControls и использовать некоторые переходы, как упоминалось в ссылке ниже для переключения между элементами управления

http://www.tanguay.info/web/index.php?pg=codeExamples&id=280

больше по использованию переходов смотрите здесь

http://www.japf.fr/2009/04/adding-transitions-to-a-mvvm-based-dialog/ или

http://www.japf.fr/2008/07/8/comment-page-1/