1

Приложение начинается с Главного Окна. В нём есть 2 кнопки, по нажатии на которые открываются соответствующие страницы:

<Button Background="{DynamicResource Secondary}" Foreground="{DynamicResource Primary}" Content="De/Serialization Library" Grid.Row="1" VerticalAlignment="Center" FontSize="25" HorizontalAlignment="Center" Height="70" Padding="5"/>
        <Button Background="{DynamicResource Primary}" Foreground="{DynamicResource Secondary}" Content="Interface Styles Library" Grid.Row="2" VerticalAlignment="Center" FontSize="25" HorizontalAlignment="Center" Height="70" Padding="5" Click="Button_Click"/>

<Frame x:Name="Frame" Grid.RowSpan="3"/>

Здесь, например, по нажатию на вторую кнопку, меняется контент у Frame, накладывая сверху нужную страницу. (Может есть способы лучше?):

private void Button_Click(object sender, RoutedEventArgs e)
{
        Frame.Content = new ThemesPage();
}

Также, у ThemesPage.xaml есть кнопка, которая должна вернуть в главное окно для выбора:

<Button Click="Button_Click" Grid.Row="2" Height="45" HorizontalAlignment="Left" Width="80" BorderThickness="2" BorderBrush="{DynamicResource Grid}" Background="{DynamicResource Primary}">
            <Image x:Name="Calendar_Icon" Source="/icons/стрелка влеов.png" />
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Cursor" Value="Hand" />
                </Style>
            </Button.Style>
        </Button>

<Frame x:Name="Frame" Grid.RowSpan="3" Grid.ColumnSpan="3"/>

Как это следует реализовать нормально? Огромное спасибо, кто может помочь

Gonzy
  • 21
  • 1
    Frame не лучший выбор для реализации страниц (почему). Заменой будет простой ContentPresenter, который отлично подходит под MVVM (которому вы вроде следуете). Вообще, в MVVM проекте старайтесь не использовать x:Name (если только не в стилях), и всякие события по типу Click (заменяйте их на команды). – EvgeniyZ May 28 '23 at 23:59
  • Спасибо большое! – Gonzy May 29 '23 at 10:40

0 Answers0