Для изменения страниц по нажатию кнопки в Avalonia (кроссплатформенный фреймворк для создания графических пользовательских интерфейсов на .NET) можно воспользоваться контейнером ContentControl
, в который будет загружаться нужная страница. Для этого вы можете создать различные UserControl, представляющие собой отдельные страницы приложения.
Пример кода:
1. Создайте несколько UserControl для различных страниц, например:
using Avalonia.Controls; using Avalonia.Markup.Xaml; public class Page1 : UserControl { public Page1() { this.InitializeComponent(); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } }
2. В главном окне приложения создайте ContentControl, в который будет загружаться выбранная страница:
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:YourNamespace" x:Class="YourNamespace.MainWindow" Title="Avalonia Application"> <ContentControl Name="contentControl" /> </Window>
3. При нажатии на кнопку изменяйте содержимое ContentControl, загружая нужную страницу:
private void Button_Click(object sender, RoutedEventArgs e) { contentControl.Content = new Page1(); }
Таким образом, при нажатии на кнопку в ContentControl будет загружаться UserControl с новой страницей. Помимо этого, вы можете использовать различные техники для навигации между страницами, сохранения состояния и дополнительной логики в зависимости от требований вашего приложения.