Вы можете думать об этом так:
У вас есть два представления (StackPanels), и только один может отображаться одновременно.
Так что в вашей модели представления вам нужен свойство, которое говорит вам, какой вид активен. Простое свойство bool
для каждого представления будет работать. Поскольку существует только два представления, технически вы можете просто использовать одно свойство, но использование двух сделает привязку данных XAML немного проще.
Примеры:
- IsFormActive
- IsPreviewActive
В вашем XAML вам необходимо управлять свойством Visibility
ваших двух StackPanel
элементов управления на основе ваших свойств IsFormActive и IsPreviewActive в вашей модели представления. Вы можете сделать это с помощью преобразователя значений, в частности, BooleanToVisibilityConverter .
<StackPanel Visibility="{Binding IsFormActive,
Converter={StaticResource BooleanToVisibilityConverter}">
...
</StackPanel>
<StackPanel Visibility="{Binding IsPreviewActive,
Converter={StaticResource BooleanToVisibilityConverter}">
...
</StackPanel>
. И обратно в вашей модели представления вы можете управлять состоянием IsFormActive и IsPreviewActive, когда кнопки «Далее» и «Назад» и т. д. c.
Надеюсь, это поможет вам понять, как действовать.