Sdílet prostřednictvím


EventSetter Třída

Definice

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
EventSetter

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)

Platí pro

Viz také