C#WPFで画面遷移PHP風
PHPでいうFormからPOSTメソッドで次の画面に値を送る初歩のプログラム。
できるだけ簡単にやってみる。
前提
visualStudio2019 -> 新しいプロジェクトの作成 -> WPF App(.NET Core)c#
MainWindow.xaml
//Navigationに変更
<NavigationWindow x:Class="kadai1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:kadai1"
mc:Ignorable="d"
//Source追加
Title="MainWindow" Height="300" Width="400" Source="Page1.xaml">
</NavigationWindow>
//Gridタグを消去
MainWindow.xaml.cs
//NavigationWindowに変更
public partial class MainWindow : NavigationWindow {
public MainWindow() {
InitializeComponent();
}
}
ページの追加: Page1.xaml
Page1.xaml
<Page 略
//追加:Loaded
Title="Page1" Loaded="Page1_Loaded">
//追加
<Grid>
<StackPanel Orientation="Vertical" Margin="10,0">
<Label>名前を入力して下さい</Label>
<TextBox x:Name="_name" Width="100" HorizontalAlignment="Left"></TextBox>
<Button Click="Btn_Click" Width="100" HorizontalAlignment="Left" Margin="0,10">送信</Button>
</StackPanel>
</Grid>
Page1.xaml.cs
//追加
public partial class Page1 : Page {
private NavigationService _navigation;
public Page1() {
InitializeComponent();
}
private void Btn_Click(object sender, RoutedEventArgs e) {
Application.Current.Properties["Name"] = _name.Text;
var _page2 = new Page2();
_navigation.Navigate(_page2);
}
private void Page1_Loaded(object sender, RoutedEventArgs e) {
_navigation = this.NavigationService;
}
}
ページの追加: Page2.xaml
Page2.xaml
//追加
<Grid>
<StackPanel Orientation="Horizontal" Margin="10,0">
<Label Name="_named" Margin="0,10"></Label>
<Label Margin="0,10">さん。ようこそ。</Label>
</StackPanel>
</Grid>
Page2.xaml.cs
//変更
public partial class Page2 : Page {
public Page2() {
InitializeComponent();
_named.Content = Application.Current.Properties["Name"];
}
}
説明
最低限のプログラムです。
本来なら空白時には次の画面に行かないとかバリデーションが必要となります。
NavigationWindowで画面遷移します。
Application.Current.Propertiesで値の送信はPHPのPOSTぽいので使いました。
実際にはこんなグローバル変数は使わないと思います笑
Author And Source
この問題について(C#WPFで画面遷移PHP風), 我々は、より多くの情報をここで見つけました https://qiita.com/Fell/items/4fb701c0250fcba99b71著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .