イベントとは?
イベントとは「ボタンがクリックされたとき!」のように、なにかのきっかけで動作するタイミングの事です。C#はWindowsFormsの頃からこのようにイベント駆動でそれぞれのタイミングごとに処理を記述するプログラミング手法となっています。
WPFでもWindowsFormsと同様のイベント処理を記述することができます。定義はXamlに記述して、イベント処理自体はコードビハインドに記述します。
イベントの書き方
Xamlのコントロールの定義をするエリアに、クリックイベントであればClick=に続けて、イベント名を記述することで定義できます。
<Button x:Name="AButton" Content="A" Height="50" FontSize="40" Click="AButton_Click"/>
XamlにClickと打ち込んだときに表示される<新しいイベントハンドラー>を選択した状態でEnterを押下すると、コードビハインドにイベントが自動生成されます。
サンプルコード
<Window x:Class="WPF005.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:WPF005" mc:Ignorable="d" Title="MainWindow" Height="300" Width="300"> <Grid> <StackPanel> <Label x:Name="ResultLabel" Content="" Height="100" HorizontalAlignment="Center" FontSize="60"/> <Button x:Name="AButton" Content="A" Height="50" FontSize="40" Click="AButton_Click"/> <Button x:Name="ClearButton" Content="Clear" Height="50" FontSize="40" Click="ClearButton_Click"/> </StackPanel> </Grid> </Window>
AButtonとClearButtonのクリックイベントを自動生成させ、それぞれにロジックを記述。AButtonをクリックすると、ResultLabelにAの文字が追加されていき、ClearButtonをクリックするとクリアーされる処理となる。
<実行例>