EventSetter クラス

定義

スタイル内で、イベント セッターを表します。 イベント セッターは、イベントへの応答で指定されたイベント ハンドラーを呼び出します。

public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
    inherit SetterBase
Public Class EventSetter
Inherits SetterBase
継承
EventSetter

次の例では、ページ レベルのスタイル内に 1 つ EventSetter を設定します。

<StackPanel
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.EventOvw2"
  Name="dpanel2"
  Initialized="PrimeHandledToo"
>
  <StackPanel.Resources>
    <Style TargetType="{x:Type Button}">
      <EventSetter Event="Click" Handler="b1SetColor"/>
    </Style>
  </StackPanel.Resources>
  <Button>Click me</Button>
  <Button Name="ThisButton" Click="HandleThis">
    Raise event, handle it, use handled=true handler to get it anyway.
  </Button>
</StackPanel>

イベント ハンドラーの例を次に示します。

void b1SetColor(object sender, RoutedEventArgs e)
{
  Button b = e.Source as Button;
  b.Background = new SolidColorBrush(Colors.Azure);
}

void HandleThis(object sender, RoutedEventArgs e)
{
  e.Handled=true;
}
Private Sub b1SetColor(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(e.Source, Button)
  b.Background = New SolidColorBrush(Colors.Azure)
End Sub

Private Sub HandleThis(ByVal sender As Object, ByVal e As RoutedEventArgs)
  e.Handled=True
End Sub

注釈

イベント セッターは、ルーティング イベントに応答して指定されたイベント ハンドラーを呼び出します。これは、インスタンス ハンドラーを個々の Style 要素にアタッチする必要なく、参照するすべての要素に適用されます。 オブジェクトのみを Style.Setters サポート EventSetter します。

ルーティング イベントのイベント セッターのみを宣言できます。 ダイレクト ルーティング戦略、バブル イベント、またはトンネリング イベントを使用して、ルーティング イベントのイベント セッターを宣言できます。

クラスの EventSetter インスタンスは、通常、XAML で定義されたスタイル内のオブジェクト要素として、拡張アプリケーション マークアップ言語 (XAML) を使用して作成されます。 EventSetterコードからインスタンス化される場合もあります。

テーマ リソース ディクショナリに含まれるスタイルでは、イベント セッターを使用できません。 これは、実行時のテーマ リソース ディクショナリは、多くの場合、ルーズ バイナリ XAML (BAML) ファイルであり、ハンドラーを定義する付随する分離コードが存在できるスコープが定義されていないためです。

イベント セッターを介してアタッチされたハンドラーは、イベントのクラス ハンドラーの後、およびインスタンス ハンドラーの後に呼び出されます。 その結果、クラス ハンドラーまたはインスタンス ハンドラーが引数で処理されたイベントをマークした場合、イベント セッターによって宣言されたハンドラーは、イベント セッターが特に設定HandledEventsTootrueしない限り呼び出されません。

イベント セッターもスタイルから BasedOn 取得できます。 指定された BasedOn スタイルのイベント セッター ハンドラーは、イミディエイト スタイルのハンドラーの後に呼び出されます。

オブジェクトのみが Style.Setters サポートされていることに EventSetter 注意してください。 トリガー (TriggerBase および派生クラス) はサポート EventSetterされていません。

コンストラクター

EventSetter()

EventSetter クラスの新しいインスタンスを初期化します。

EventSetter(RoutedEvent, Delegate)

提供されたイベントとハンドラー パラメーターを使用して、EventSetter クラスの新しいインスタンスを初期化します。

プロパティ

Event

この EventSetter が応答する、特定のルーティング イベントを取得または設定します。

HandledEventsToo

イベント データ内でイベントが処理済みとしてマークされている場合でも、setter に割り当てられたハンドラーを呼び出す必要があるかどうかを判断する値を取得または設定します。

Handler

setter でルーティング イベントのハンドラーへの参照を取得または設定します。

IsSealed

このオブジェクトが変更できない状態にあるかどうかを示す値を取得します。

(継承元 SetterBase)

メソッド

CheckSealed()

このオブジェクトが読み取り専用で変更できないかどうかをチェックします。

(継承元 SetterBase)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください