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.
Bir stildeki 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 EventSetter bir 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ı, her bir öğeye örnek işleyicileri eklemenizi gerektirmek yerine öğesine başvuran Style tüm öğelere uygulanan yönlendirilmiş olaylara yanıt olarak belirtilen olay işleyicilerini çağırır. Yalnızca Style.Setters nesneleri destekler EventSetter .
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.
Sınıfın EventSetter örnekleri genellikle XAML aracılığıyla tanımlanan bir stil içindeki nesne öğesi olarak Genişletilebilir Uygulama biçimlendirme Dili (XAML) aracılığıyla oluşturulur. Ayrıca EventSetter koddan bir ö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 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ı özel olarak ayarlamadığı HandledEventsToo true
sürece bir olay ayarlayıcısı tarafından bildirilen işleyici çağrılmaz.
Olay ayarlayıcıları stillerden BasedOn de gelebilir. olarak BasedOn belirtilen stilden olay ayarlayıcısı işleyicileri, anlık stildeki işleyicilerden sonra çağrılır.
Yalnızca Style.Setters nesneleri desteklediğini EventSetter unutmayın. Tetikleyiciler (TriggerBase ve türetilmiş sınıflar) desteklemez EventSetter.
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 sınıfının yeni bir örneğini EventSetter başlatır. |
Özellikler
Event |
Bunun EventSetter yanıt verdiği belirli yönlendirilmiş olayı alır veya ayarlar. |
HandledEventsToo |
Olay, olay verilerinde işlendi 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ıdaki yönlendirilmiş bir olay için işleyici başvuruyu alır veya ayarlar. |
IsSealed |
Bu nesnenin sabit durumda olup olmadığını belirten 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() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |