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. 압축파일
파일이 필요하신 분은 댓글 주세요.
728x90
'C#' 카테고리의 다른 글
.NET Framework와 .NET Core의 차이점 (0) | 2020.02.28 |
---|---|
C# Email 보내기 _소스코드 (0) | 2020.02.17 |
C# 버튼 다루기 (0) | 2020.02.16 |
C# Windows 계산기 만들기 _ 간단한 계산기 (0) | 2020.02.16 |
데이터 바인딩이란? 간단한 실습 예제 (0) | 2020.02.16 |