EventSetter 클래스

정의

스타일에서 이벤트 setter를 나타냅니다. 이벤트 setter는 이벤트에 대한 응답으로 지정된 이벤트 처리기를 호출합니다.

public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
    inherit SetterBase
Public Class EventSetter
Inherits SetterBase
상속
EventSetter

예제

다음 예제에서는 페이지 수준 스타일 내에서 단일 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

설명

이벤트 setter는 각 개별 요소에 인스턴스 처리기를 연결하도록 요구하지 않고 참조하는 모든 요소 Style 에 적용되는 라우트된 이벤트에 대한 응답으로 지정된 이벤트 처리기를 호출합니다. 개체만 Style.Setters 지원 EventSetter 합니다.

라우트된 이벤트에 대한 이벤트 setter만 선언할 수 있습니다. 직접 라우팅 전략, 버블링 이벤트 또는 터널링 이벤트를 사용하여 라우트된 이벤트에 대한 이벤트 setter를 선언할 수 있습니다.

클래스의 EventSetter 인스턴스는 일반적으로 XAML(Extensible Application Markup Language)을 통해 XAML을 통해 정의된 스타일 내의 개체 요소로 만들어집니다. EventSetter 코드에서 인스턴스화될 수도 있습니다.

이벤트 setter는 테마 리소스 사전에 포함된 스타일에서 사용할 수 없습니다. 런타임에 테마 리소스 사전은 종종 BAML(이진 XAML) 파일이 느슨하고 처리기를 정의하는 코드 숨김이 있을 수 있는 범위가 정의되어 있지 않기 때문입니다.

이벤트 setter를 통해 연결된 처리기는 이벤트에 대한 클래스 처리기 이후 및 인스턴스 처리기 후에 호출됩니다. 따라서 클래스 처리기 또는 인스턴스 처리기가 인수에서 처리된 이벤트를 표시하는 경우 이벤트 setter가 특별히 설정 HandledEventsToo true하지 않는 한 이벤트 setter에서 선언한 처리기는 호출되지 않습니다.

이벤트 setter는 스타일에서 BasedOn 올 수도 있습니다. 지정된 BasedOn 스타일의 이벤트 setter 처리기는 직접 실행 스타일의 처리기 다음에 호출됩니다.

개체만 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)

적용 대상

추가 정보