EventSetter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje setter události ve stylu. Funkce event setters vyvolá zadané obslužné rutiny událostí v reakci na události.
public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
inherit SetterBase
Public Class EventSetter
Inherits SetterBase
- Dědičnost
Příklady
Následující příklad vytvoří jeden EventSetter ve stylu na úrovni stránky.
<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>
Následující příklad ukazuje obslužné rutiny událostí:
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
Poznámky
Funkce Event setters vyvolá zadané obslužné rutiny událostí v reakci na směrované události, které se vztahují na všechny prvky odkazované na Style místo toho, abyste museli připojit obslužné rutiny instance ke každému jednotlivému prvku. Objekty EventSetter podporují pouze Style.Setters.
Můžete deklarovat pouze události setter pro události směrované události. Můžete deklarovat settery událostí pro směrované události pomocí strategie přímého směrování, bublinových událostí nebo událostí tunelování.
Instance EventSetter třídy se obvykle vytvářejí prostřednictvím jazyka XAML (Extensible Application Markup Language) jako element objektu ve stylu definovaném prostřednictvím XAML. Instance EventSetter může být také vytvořena z kódu.
Settery událostí nelze použít ve stylu, který je obsažen ve slovníku prostředků motivu. Důvodem je to, že slovník prostředků motivu za běhu je často volné binární soubory XAML (BAML) a nemá žádný obor definovaný tam, kde doprovodné kódy definují obslužné rutiny mohou existovat.
Obslužné rutiny připojené prostřednictvím setter událostí se vyvolávají po všech obslužných rutinách třídy pro událost a také po všech obslužných rutinách instance. Výsledkem je, že pokud obslužná rutina třídy nebo obslužná rutina instance označí událost zpracovávanou v argumentech, obslužná rutina deklarovaná tter událostí není vyvolána, pokud setter události výslovně nenastaví HandledEventsTootrue
.
Settery událostí můžou pocházet také ze stylů BasedOn. Obslužné rutiny setter událostí ze stylu zadaného jako BasedOn budou vyvolány po obslužných rutinách v bezprostředním stylu.
Všimněte si, že pouze Style.Setters podporuje EventSetter objekty. Triggery (TriggerBase a odvozené třídy) nepodporují EventSetter.
Konstruktory
EventSetter() |
Inicializuje novou instanci EventSetter třídy. |
EventSetter(RoutedEvent, Delegate) |
Inicializuje novou instanci EventSetter třídy pomocí zadaných parametrů události a obslužné rutiny. |
Vlastnosti
Event |
Získá nebo nastaví konkrétní směrovanou událost, na kterou tato EventSetter reaguje. |
HandledEventsToo |
Získá nebo nastaví hodnotu, která určuje, zda obslužná rutina přiřazená k setter má být stále vyvolána, i když je událost označena v datech události. |
Handler |
Získá nebo nastaví odkaz na obslužnou rutinu pro směrovanou událost v setter. |
IsSealed |
Získá hodnotu, která určuje, zda tento objekt je v neměnném stavu. (Zděděno od SetterBase) |
Metody
CheckSealed() |
Zkontroluje, zda je tento objekt jen pro čtení a nelze ho změnit. (Zděděno od SetterBase) |
Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |