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:
コメント