EventSetter Classe

Definição

Representa um setter de eventos em um estilo. Setters de evento invocam os manipuladores de eventos especificados em resposta a eventos.

public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
    inherit SetterBase
Public Class EventSetter
Inherits SetterBase
Herança
EventSetter

Exemplos

O exemplo a seguir estabelece um único EventSetter em um estilo de nível de página.

<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>

O seguinte mostra os manipuladores de eventos de exemplo:

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

Comentários

Os setters de eventos invocam os manipuladores de eventos especificados em resposta a eventos roteados, que se aplicam a todos os elementos que fazem referência Style ao invés de exigir que você anexe manipuladores de instância a cada elemento individual. Só Style.Setters dá suporte a EventSetter objetos.

Você só pode declarar setters de eventos para eventos que são eventos roteados. Você pode declarar setters de eventos para eventos roteados com uma estratégia de roteamento direto, eventos de bolhas ou eventos de túnel.

As instâncias da EventSetter classe geralmente são criadas por meio da XAML (Extensible Application Markup Language), como um elemento de objeto dentro de um estilo definido por meio de XAML. Um EventSetter também pode ser instanciado do código.

Os setters de eventos não podem ser usados em um estilo contido em um dicionário de recursos de tema. Isso ocorre porque um dicionário de recursos de tema em tempo de execução geralmente é arquivos BAML (binários soltos) e não tem nenhum escopo definido onde o code-behind que acompanha os manipuladores pode existir.

Manipuladores anexados por meio de setters de eventos são invocados após qualquer manipulador de classe para um evento e também após qualquer manipulador de instância. Como resultado, se um manipulador de classe ou manipulador de instância marcar um evento tratado em seus argumentos, o manipulador declarado por um setter de eventos não será invocado, a menos que o setter de eventos defina HandledEventsToo trueespecificamente .

Os setters de eventos também podem vir de BasedOn estilos. Os manipuladores de setter de eventos do estilo especificado como BasedOn serão invocados após os manipuladores no estilo imediato.

Observe que só Style.SettersEventSetter suporte a objetos. Gatilhos (TriggerBase e classes derivadas) não dão suporte EventSetter.

Construtores

EventSetter()

Inicializa uma nova instância da classe EventSetter.

EventSetter(RoutedEvent, Delegate)

Inicializa uma nova instância da classe EventSetter usando os parâmetros de evento e de manipulador fornecidos.

Propriedades

Event

Obtém ou define o evento roteado específico ao qual esse EventSetter responde.

HandledEventsToo

Obtém ou define um valor que determina se o manipulador designado ao setter ainda deve ser invocado, mesmo se o evento é marcado como tratado nos dados do evento.

Handler

Obtém ou define a referência a um manipulador para um evento roteado no setter.

IsSealed

Obtém um valor que indica se este objeto está em um estado imutável.

(Herdado de SetterBase)

Métodos

CheckSealed()

Verifica se este objeto é somente leitura e não pode ser alterado.

(Herdado de SetterBase)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também