EventSetter Classe

Definição

Representa um criador de eventos num estilo. Os criadores de eventos invocam os gestores 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 seguinte estabelece um único EventSetter dentro de um estilo ao nível da 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>

Segue-se os exemplos de gestores de eventos:

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

Observações

Os criadores de eventos invocam os gestores de eventos especificados em resposta a eventos encaminhados, que se aplicam a todos os elementos que fazem referência a o Style , em vez de exigirem que associe tratadores de instância a cada elemento individual. Apenas Style.Setters objetos de suporte EventSetter .

Só podes declarar event setters para eventos que são eventos roteados. Pode declarar event setters para eventos encaminhados com uma estratégia direta de roteamento, eventos de bubbling ou tunneling.

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

Os criadores de eventos não podem ser usados num estilo contido num dicionário de recursos temáticos. Isto deve-se ao facto de um dicionário de recursos de tema em tempo de execução ser frequentemente composto por ficheiros binários XAML (BAML) soltos, e não tem qualquer âmbito definido onde possa existir o code-behind correspondente que define os handlers.

Os handlers ligados através de event setters são invocados após qualquer handler de classe para um evento, e também após qualquer handler de instância. Como resultado, se um manipulador de classes ou de instância marcar um evento tratado nos seus argumentos, então o manipulador declarado por um criador de eventos não é invocado, a menos que o criador de eventos defina HandledEventsTootrueespecificamente .

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

Note que só Style.Setters suporta EventSetter objetos. Os gatilhos (TriggerBase e classes derivadas) não suportam EventSetter.

Construtores

Name Description
EventSetter()

Inicializa uma nova instância da EventSetter classe.

EventSetter(RoutedEvent, Delegate)

Inicializa uma nova instância da EventSetter classe, usando os parâmetros fornecidos de eventos e handler.

Propriedades

Name Description
Event

Recebe ou define o evento encaminhado particular ao qual responde EventSetter .

HandledEventsToo

Recebe ou define um valor que determina se o handler atribuído ao setter deve ainda ser invocado, mesmo que o evento seja marcado como tratado nos seus dados de evento.

Handler

Obtém ou define a referência para um handler de um evento encaminhado no setter.

IsSealed

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

(Herdado de SetterBase)

Métodos

Name Description
CheckSealed()

Verifica se este objeto é apenas de 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 função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também