別のウィンドウを表示する - WPF
WPFアプリで別のウィンドウを表示するコードを紹介します。
概要
別のウィンドウを表示する場合は、ウィンドウクラスのインスタンスを作成し、
Show()
メソッドを実行すると表示できます。
プログラム / 実装例
プロジェクトの作成
WPFアプリケーションのプロジェクトを作成します。
WPFアプリケーションのプロジェクトが作成されました。
[ソリューションエクスプローラ]で右クリックしポップアップメニューを表示します。メニューの[追加]の[新しい項目]をクリックします。
[新しい項目の追加]ウィンドウが表示されます。一覧から[ウィンドウ(WPF)]を選択します。[名前]の欄にファイル名を設定します。
ウィンドウが追加されます。ソリューションエクスプローラに項目が追加されたことが確認できます。
UI
下図のUIを作成します。
MainWindow.xaml
LabelとButtonを配置します。
SubWindow.xaml
Labelを配置します。
コード
下記のコードを記述します。MainWindow.xaml の[Button]のClickイベントを実装します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfShowWindow
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
SubWindow sw = new SubWindow();
sw.Show();
}
}
}
解説
SubWindowクラスのインスタンスオブジェクトを作成します。
SubWindow sw = new SubWindow();
作成した、インスタンスオブジェクトの Show メソッドを呼び出します。
sw.Show();
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。
[Button]をクリックすると、SubWindowが表示されます。
今回のコードでは、親子関係が設定されていないため、MainWindowを閉じてもSubWindowは表示されたままとなり、アプリケーションは終了しません。
タスクバーでの表示は下図になります。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用