Поэтому я пытаюсь создать C # -программу в Visual Studio, которая перемещается на новую страницу при нажатии кнопки «Далее». - PullRequest
0 голосов
/ 08 мая 2018

Прямо сейчас у меня есть базовая программа. Я только начал изучать C # и не знаю, как перейти на новую страницу, на которой я могу добавить больше кнопок, текста и т. Д.

Это то, что я имею до сих пор:

namespace HelloWorld
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            this.Next.Visibility = Visibility.Collapsed;
        }

        private void ClickMe_Click(object sender, RoutedEventArgs e)
        {
            this.HelloMessage.Text = "This is a test message deployed from Rohan's PC.";
            this.ClickMe.Visibility = Visibility.Collapsed;
            this.Next.Visibility = Visibility.Visible;
        }
        private void Next_Click(object sender, RoutedEventArgs e)
        {
            this.Next.Visibility = Visibility.Collapsed;
            this.HelloMessage.Visibility = Visibility.Collapsed;
        }
    }
}

Это программа, которую я запускаю на своем Raspberry Pi 3b. Пока все это работает, но я хотел бы знать, как добавить больше страниц. Помощь будет высоко ценится.

1 Ответ

0 голосов
/ 08 мая 2018

Это решение основано на WPF (Windows Presentation Foundation) C #.

Предполагая, что у вас есть 3 страницы для навигации, давайте назовем их Page1, Page2, Page3 Прежде чем добавлять страницы, давайте настроим наш фрейм для хранения этих страниц.

MainWindow.xaml

    <Grid>
        <Frame x:Name="WizardWindowFrame" Content="" NavigationUIVisibility="Hidden" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>

    </Grid>

Код позади: MainWindow.XAML.CS

public MainWindow()
        {
            InitializeComponent();
         Title title = new Title(); // Navigate to Page1
         WizardWindowFrame.NavigationService.Navigate(title);


      }

Примечание. Поэтому, когда ваше приложение запускается, вы увидите, что оно запускается со страницы Page1, а на странице 1 у вас есть кнопка «Далее». Прежде чем мы определим три страницы, нам нужно добавить их из обозревателя решений (Ctrl + Shift + A)

enter image description here

Код позади: Title.XAML.CS

   public partial class Title : Page
   {
      public Title()
      {
         InitializeComponent();

      }
public void TitleButtonNext_Click(object sender, EventArgs e)
      {


       Middle middle = new Middle(); // Navigate to Page 2 on click
       this.NavigationService.Navigate(new Uri("Middle.xaml", UriKind.Relative));


      }
}

Код сзади: Middle.XAML.CS

 public partial class Middle: Page
   {
      public Middle()
      {
         InitializeComponent();

      }
public void MiddleButtonNext_Click(object sender, EventArgs e)
      {


       Final final = new Final(); // Navigate to Page 3 on click
       this.NavigationService.Navigate(new Uri("Final.xaml", UriKind.Relative));


      }
  }

Код сзади: Final.XAML.CS

 public partial class Final: Page
   {
      public Final()
      {
         InitializeComponent();

      }
public void FinishButtonBack_Click(object sender, EventArgs e)
      {

      Middle middle = new Middle(); 
      this.NavigationService.Navigate(middle); //Goes to the previous page

      }
  }

Выход:

Страницы были изменены в соответствии с моими требованиями. Но указанное выше свойство было использовано для создания голой кости

enter image description here

В интернете содержится масса информации, поэтому я добавил в закладки некоторые из моих избранных, которые должны помочь вам принять решение.

Но я бы посоветовал вам освоиться с C #, а затем обратиться к документации

Литература

https://rachel53461.wordpress.com/2011/12/18/navigation-with-mvvm-2/

https://docs.microsoft.com/en-us/dotnet/framework/wpf/app-development/navigation-topologies-overview#Navigation_over_a_Fixed_Linear_Topology

Окно против страницы против UserControl для навигации по WPF?

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