Есть ли в WPF элемент управления мастера? - PullRequest
35 голосов
/ 13 ноября 2008

Есть ли в WPF элементы управления типа мастера? Мне нужна функциональность, чтобы я мог двигаться вперед и назад и использовать вкладки, чтобы выбрать конкретный элемент, который будет отображать детали вложенных элементов. Я могу использовать элемент управления TabControl, но элементы вкладок являются динамическими, поэтому я не могу вложить область внутри элемента вкладки.

Ответы [ 7 ]

29 голосов
/ 13 ноября 2008

WPF имеет встроенную навигационную инфраструктуру:

Обзор навигации WPF

Также посмотрите пример мастера

9 голосов
/ 18 февраля 2011

Другой простой способ, который я использовал для базового мастера, - это использование нескольких гридов и изменение свойств видимости при нажатии кнопок, используя int для отслеживания «номера шага»

    <Grid Name="Page1">
        <TextBlock>Page 1</TextBlock>
    </Grid>

    <Grid Name="Page2" Visibility="Hidden">
        <TextBlock>Page 2</TextBlock>
    </Grid>
8 голосов
/ 13 ноября 2010

Вы можете попробовать open source Avalon Wizard .

6 голосов
/ 19 марта 2014

Проверка Эта ссылка . Вы можете создать замечательного мастера, используя расширенный инструментарий wpf.

Wizard

2 голосов
/ 19 апреля 2013

Найден отличный пример на codeproject, который должен дать вам все, что вам нужно:

http://www.codeproject.com/Articles/31837/Creating-an-Internationalized-Wizard-in-WPF

1 голос
/ 01 ноября 2011

Вы можете также рассмотреть возможность использования собственного элемента управления Wizard. Это не так сложно! Следующие посты должны быть полезны: WPF Wizard Control Часть I и WPF Wizard Control Часть II

0 голосов
/ 12 августа 2018

MVVM Wizard - Использование при этом (требуется контейнер DI, представления создаются при первой навигации)

<controls:Wizard>
    <controls:WizardStep ViewType="{x:Type test:View1}"  />
    <controls:WizardStep ViewType="{x:Type test:View2}" />
    <controls:WizardStep ViewType="{x:Type test:View3}" />
</controls:Wizard>

или что-то подобное (DI не требуется, но сразу создает все виды)

<controls:Wizard>

    <controls:WizardStep>
        <test:View1 />
    </controls:WizardStep>

    <controls:WizardStep>
        <test:View2 />
    </controls:WizardStep>

    <controls:WizardStep>
        <test:View3 />
    </controls:WizardStep>

</controls:Wizard>
...