EventSetter Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Ö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 HandledEventsTootrue
ayarlamadığı 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) |