EventSetter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje element ustawiania zdarzeń w stylu. Programy ustawiające zdarzenia wywołują określone programy obsługi zdarzeń w odpowiedzi na zdarzenia.
public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
inherit SetterBase
Public Class EventSetter
Inherits SetterBase
- Dziedziczenie
Przykłady
Poniższy przykład ustanawia pojedynczą EventSetter w stylu na poziomie strony.
<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>
Poniżej przedstawiono przykładowe programy obsługi zdarzeń:
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
Uwagi
Zestawy zdarzeń wywołują określone programy obsługi zdarzeń w odpowiedzi na zdarzenia kierowane, które mają zastosowanie do wszystkich elementów odwołujących się do Style, zamiast wymagać dołączenia programów obsługi wystąpień do każdego pojedynczego elementu. Tylko Style.Setters obsługują obiekty EventSetter.
Można zadeklarować tylko programy ustawiające zdarzenia dla zdarzeń, które są kierowane zdarzenia. Można zadeklarować zestawy zdarzeń dla zdarzeń kierowanych za pomocą strategii routingu bezpośredniego, zdarzeń bubbling lub zdarzeń tunelowania.
Wystąpienia klasy EventSetter są zwykle tworzone za pomocą języka XAML (Extensible Application Markup Language) jako elementu obiektu zdefiniowanego za pomocą języka XAML. Wystąpienie EventSetter może również zostać utworzone z poziomu kodu.
Zestawy zdarzeń nie mogą być używane w stylu zawartym w słowniku zasobów motywu. Jest to spowodowane tym, że słownik zasobów motywu w czasie wykonywania jest często luźne pliki binarne XAML (BAML) i nie ma żadnego zdefiniowanego zakresu, w którym może istnieć towarzyszący kod, który definiuje programy obsługi.
Programy obsługi dołączone za pośrednictwem modułów ustawiających zdarzenia są wywoływane po każdym procedurze obsługi klas dla zdarzenia, a także po wszystkich programach obsługi wystąpień. W związku z tym, jeśli program obsługi klas lub program obsługi wystąpień oznacza zdarzenie obsługiwane w jego argumentach, program obsługi zadeklarowany przez programter zdarzeń nie jest wywoływany, chyba że zestaw zdarzeń specjalnie ustawia HandledEventsTootrue
.
Zestawy zdarzeń mogą również pochodzić ze stylów BasedOn. Programy obsługi ustawiającej zdarzenia z stylu określonego jako BasedOn będą wywoływane po programach obsługi w stylu natychmiastowym.
Należy pamiętać, że tylko Style.Setters obsługuje obiekty EventSetter. Wyzwalacze (klasyTriggerBase i pochodne) nie obsługują EventSetter.
Konstruktory
EventSetter() |
Inicjuje nowe wystąpienie klasy EventSetter. |
EventSetter(RoutedEvent, Delegate) |
Inicjuje nowe wystąpienie klasy EventSetter przy użyciu podanych parametrów zdarzenia i procedury obsługi. |
Właściwości
Event |
Pobiera lub ustawia określone zdarzenie kierowane, na które EventSetter odpowiada. |
HandledEventsToo |
Pobiera lub ustawia wartość, która określa, czy program obsługi przypisany do modułu ustawiania powinien być nadal wywoływany, nawet jeśli zdarzenie jest oznaczone jako obsługiwane w danych zdarzenia. |
Handler |
Pobiera lub ustawia odwołanie do procedury obsługi dla zdarzenia kierowanego w ustawieniu. |
IsSealed |
Pobiera wartość wskazującą, czy ten obiekt jest w stanie niezmiennym. (Odziedziczone po SetterBase) |
Metody
CheckSealed() |
Sprawdza, czy ten obiekt jest tylko do odczytu i nie można go zmienić. (Odziedziczone po SetterBase) |
Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |