Aracılığıyla paylaş


EventSetter Sınıf

Tanım

Stildeki bir olay ayarlayıcıyı temsil eder. Olay ayarlayıcıları, olaylara yanıt olarak belirtilen olay işleyicilerini çağırır.

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

Örnekler

Aşağıdaki örnek, sayfa düzeyi stilinde tek bir EventSetter oluşturur.

<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>

Aşağıda örnek olay işleyicileri gösterilmektedir:

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

Açıklamalar

Olay ayarlayıcıları, yönlendirilmiş olaylara yanıt olarak belirtilen olay işleyicilerini çağırır. Bu, her bir öğeye örnek işleyicileri eklemenizi gerektirmek yerine Style başvuran tüm öğelere uygulanır. Yalnızca Style.SettersEventSetter nesneleri destekler.

Yalnızca yönlendirilen olaylar için olay ayarlayıcıları bildirebilirsiniz. Doğrudan yönlendirme stratejisi, kabarcık oluşturma olayları veya tünel olayları ile yönlendirilen olaylar için olay ayarlayıcıları bildirebilirsiniz.

EventSetter sınıfının örnekleri genellikle XAML aracılığıyla tanımlanan bir stilde nesne öğesi olarak Genişletilebilir Uygulama Biçimlendirme Dili (XAML) aracılığıyla oluşturulur. Koddan bir EventSetter örneği de oluşturulabilir.

Olay ayarlayıcıları, tema kaynak sözlüğünde yer alan bir stilde kullanılamaz. Bunun nedeni, çalışma zamanındaki bir tema kaynak sözlüğü genellikle gevşek ikili XAML (BAML) dosyaları olması ve işleyicileri tanımlayan arka planda kod eşlik eden hiçbir kapsamın tanımlanmamasıdır.

Olay ayarlayıcıları aracılığıyla eklenen işleyiciler, bir olay için tüm sınıf işleyicilerinden sonra ve ayrıca tüm örnek işleyicilerinden sonra çağrılır. Sonuç olarak, bir sınıf işleyicisi veya örnek işleyicisi bağımsız değişkenlerinde işlenen bir olayı işaretlerse, olay ayarlayıcısı tarafından bildirilen işleyici özellikle HandledEventsTootrueayarlamadığı sürece çağrılmaz.

Olay ayarlayıcıları BasedOn stillerden de gelebilir. BasedOn olarak belirtilen stilden olay ayarlayıcı işleyicileri, anlık stildeki işleyicilerden sonra çağrılır.

Yalnızca Style.SettersEventSetter nesneleri desteklediğini unutmayın. Tetikleyiciler (TriggerBase ve türetilmiş sınıflar) EventSetterdesteklemez.

Oluşturucular

EventSetter()

EventSetter sınıfının yeni bir örneğini başlatır.

EventSetter(RoutedEvent, Delegate)

Sağlanan olay ve işleyici parametrelerini kullanarak EventSetter sınıfının yeni bir örneğini başlatır.

Özellikler

Event

Bu EventSetter yanıt verdiği belirli yönlendirilmiş olayı alır veya ayarlar.

HandledEventsToo

Olay, olay verilerinde işlenmiş olarak işaretlenmiş olsa bile, ayarlayıcıya atanan işleyicinin hala çağrılıp çağrılmayacağını belirleyen bir değer alır veya ayarlar.

Handler

Ayarlayıcıda yönlendirilmiş bir olay için bir işleyiciye başvuruyu alır veya ayarlar.

IsSealed

Bu nesnenin sabit durumda olup olmadığını gösteren bir değer alır.

(Devralındığı yer: SetterBase)

Yöntemler

CheckSealed()

Bu nesnenin salt okunur olup olmadığını ve değiştirilemeyeceğini denetler.

(Devralındığı yer: SetterBase)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.