728x90

1. 구성

페이지에서 다른 페이지로 넘기는 데이터 넘기는 네비게이션 사용방법에 대해서 알아보고자 합니다.

구성은 페이지2 세트와 클래스 1개로 이루어져있습니다.

프로그램 실행은 압축 파일을 통하여서도 실행이 가능합니다. 

 

2. 코더

MainPage.xaml

	<StackPanel >
            <StackPanel.Resources>
                <Style TargetType="Button">
                    <Setter Property="Width" Value="200"/>
                    <Setter Property="Margin" Value="0,10,0,0"/>
                </Style>
            </StackPanel.Resources>
            <StackPanel Orientation="Vertical" Padding="150">
                <TextBox x:Name="MainName1" PlaceholderText="1번째" FontSize="35" />
                <TextBox x:Name="MainName2" Text="2번째" FontSize="35" />
                <Button x:Name="btnname1" Content="Blank Page로 이동합니다." Click="Btnname1_Click"/>
            </StackPanel>
            <StackPanel Margin="150,50,0,0" Orientation="Vertical">
                <Button x:Name="btnGo" Content="글자 이동" Click="BtnGo_Click"/>
                <TextBlock x:Name="MainBlock1" Text="첫번째." FontSize="35"/>
                <TextBlock x:Name="MainBlock2" Text="두번째." FontSize="35"/>
            </StackPanel>
        </StackPanel>

MainPage.xaml.cs

        private void Btnname1_Click(object sender, RoutedEventArgs e)
        {
	    this.Frame.Navigate(typeof(BlankPage), this.MainBlock2.Text);
            this.Frame.Navigate(typeof(BlankPage), this.MainBlock1.Text);
        }

        private void BtnGo_Click(object sender, RoutedEventArgs e)
        {
            var student = new Student { MainName1 = MainName1.Text, MainName2 = MainName2.Text};
            Frame frame = Window.Current.Content as Frame;
            frame.Navigate(typeof(BlankPage), student);

            MainBlock1.Text = String.Format("{0}", MainName1.Text);
            MainBlock2.Text = String.Format("{0}", MainName2.Text);
        }

 

BlankPage.xaml

	<StackPanel Margin="150" Orientation="Vertical">
            <TextBox x:Name="BlankName1" Text="----" FontSize="35" />
            <TextBox x:Name="BlankName2" Text="123" FontSize="35" />
            <Button x:Name="Back" Content="뒤로가기" Click="Back_Click"/>
        </StackPanel>

BlankPage.xaml.cs

public BlankPage()
        {
            this.InitializeComponent();
        }    

        private void Back_Click(object sender, RoutedEventArgs e)
        {
            Frame.Navigate(typeof(MainPage));
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            var student = (Student)e.Parameter;

            if(!string.IsNullOrWhiteSpace(student.MainName1))
            {
                BlankName1.Text = student.MainName1;
                BlankName2.Text = student.MainName2;
            }
         }

 

Student.cs

 public class Student
    {
        public string MainName1 { get; set; }
        public string MainName2 { get; set; }
    }

 

3. 압축파일

파일이 필요하신 분은 댓글 주세요.

navigate.zip
2.54MB

728x90

+ Recent posts