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
Event setters vyvolá zadané obslužné rutiny událostí v reakci na směrované události, které se vztahují na všechny prvky, které odkazují Style místo toho, abyste k jednotlivým prvkům připojili obslužné rutiny instancí. Podporují EventSetter pouze Style.Setters objekty.
Pro události, které jsou směrované události, můžete deklarovat pouze settery událostí. 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í.
EventSetter Instance třídy se obvykle vytvářejí prostřednictvím jazyka XAML (Extensible Application Markup Language) jako objektový prvek v rámci stylu definovaného prostřednictvím XAML. Může EventSetter se také vytvořit instance 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ý, kde doprovodný kód definuje obslužné rutiny.
Obslužné rutiny připojené prostřednictvím setter událostí se vyvolá 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 důsledku toho pokud obslužná rutina třídy nebo obslužná rutina instance označí událost zpracovávanou v argumentech, obslužná rutina deklarovaná event setter není vyvolána, pokud setter události výslovně nastaví HandledEventsToo true
.
Settery událostí můžou také pocházet ze BasedOn stylů. Obslužné rutiny setter událostí ze stylu zadaného tak, jak BasedOn budou vyvolány po obslužných rutinách v okamžitém stylu.
Všimněte si, že podporuje EventSetter pouze Style.Setters 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 reaguje EventSetter . |
HandledEventsToo |
Získá nebo nastaví hodnotu, která určuje, zda se obslužná rutina přiřazená k setteru má stále vyvolat, 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 setteru. |
IsSealed |
Získá hodnotu, která označuje, zda je tento objekt 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čí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |