Многостраничное приложение WPF - PullRequest
4 голосов
/ 24 февраля 2011

Я новичок в разработке настольных приложений и у меня довольно простой вопрос.У меня есть форма WPF с именем MainWindow, как мне использовать несколько страниц, таких как «Управление пользователями», «Управление контентом» и т. Д.

Я думаю, у меня есть следующие опции:

  1. Использование нескольких форм
  2. Вкладки
  3. Групповое поле?

Любое разъяснение было бы здорово!

Ответы [ 5 ]

9 голосов
/ 24 февраля 2011
  • Ну, в моем последнем приложении я начал использовать TabControl, это безопасный и довольно простой способ.

  • Недавно переключил управление вкладками с помощью StackPanel с серией расширителей внутри. Я разработал расширители, чтобы они отображали заголовок по вертикали и расширялись по горизонтали ... чем-то похоже на первую панель xbox . И это выглядит и прекрасно работает! =)

  • Другая альтернатива - использовать страницу вместо окна ... Тогда вам просто нужно перейти на каждую страницу.

EDIT: Вот пример многостраничного приложения ... может быть близко к тому, что вам нужно.

5 голосов
/ 02 марта 2011

Решение, которое я выбрал, подходило для того, что я искал, используя WPF Pages , но спасибо за ваши ответы.

4 голосов
/ 02 ноября 2016

Существует множество способов сделать это, например, создать UserControl и показать их во время выполнения. Но использование TabControl быстро и безопасно.

Просто используйте TabControl и размещайте свои страницыв элементах вкладки. Затем скрыть заголовок TabControl, установив значение Visibility = "Collapsed" для каждого элемента TabItem.

Результат будет следующим:

enter image description here

enter image description here

enter image description here

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

2 голосов
/ 28 октября 2016

Создать
usercontrol (wpf): UserManagement
usercontrol2 (wpf): ManageContent

разместить элемент управления "ContentControl" в главном окне

Запустить код по нажатию кнопки: // Отображает usercontrol1
contentControl.content = new UserManagement ();

// Отображает usercontrol2
contentControl.content = new ManageContent ();

Надеюсь, это вам поможет.

0 голосов
/ 24 февраля 2011

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

Приложение имеет два окна: главное окно и другое (также полученное из Window и снабженное соответствующимкнопки и обработчики событий), который используется в качестве начального диалога.Диалог запуска вызывается в конструкторе главного окна следующим образом:

public partial class MainWindow : Window
{
    startdlg m_dlg;
    // ...

    public MainWindow() 
    {
        m_dlg = new startdlg();

        if ((bool)m_dlg.ShowDialog())
        {
            // ...
        }
        else
        {
            Close();
        }
        // ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...