MenuItemコントロールのOnClickイベントを使用して、メニューがクリックされたことを検知する
概要
この記事では、WPFのMenuItemコントロールにおいて、Clickイベントを使用して、メニューがクリックされたことを検知する方法について説明します。Clickイベントは、MenuItemがクリックされたときに発生するルーティングイベントです。このイベントをハンドラーで処理することで、メニューのクリックに応じた処理を実行することができます。
構文
Clickイベントの構文は以下のとおりです。
XAML
<MenuItem Header="メニュー名" Click="イベントハンドラー名" />
コードビハインド
private void イベントハンドラー名(object sender, RoutedEventArgs e)
{
// クリックされたメニューに応じた処理
}
ここで、Header属性はメニューの表示名を指定します。OnClick属性は、メニューがクリックされたときに呼び出されるイベントハンドラーの名前を指定します。senderパラメーターは、クリックされたMenuItemオブジェクトを表します。eパラメーターは、ルーティングイベントのデータを格納するRoutedEventArgsオブジェクトを表します。
使用例
以下は、Clickイベントの使用例です。この例では、ファイルメニューの中に新規作成、開く、保存、終了の4つのサブメニューを作成し、それぞれにClickイベントを設定しています。また、イベントハンドラーでは、クリックされたサブメニューの名前をテキストブロックに表示する処理を行っています。
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Menu HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="800">
<MenuItem Header="_ファイル">
<MenuItem Header="_新規作成" Olick="New_Click" />
<MenuItem Header="_開く" Click="Open_Click" />
<MenuItem Header="_保存" Click="Save_Click" />
<Separator />
<MenuItem Header="_終了" Click="Exit_Click" />
</MenuItem>
</Menu>
<TextBlock x:Name="textBlock" HorizontalAlignment="Left" Margin="10,50,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="30"/>
</Grid>
</Window>
using System.Windows;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void New_Click(object sender, RoutedEventArgs e)
{
textBlock.Text = "新規作成がクリックされました。";
}
private void Open_Click(object sender, RoutedEventArgs e)
{
textBlock.Text = "開くがクリックされました。";
}
private void Save_Click(object sender, RoutedEventArgs e)
{
textBlock.Text = "保存がクリックされました。";
}
private void Exit_Click(object sender, RoutedEventArgs e)
this.Close();
}
}
}
Please follow and like us:


コメント