EventSetter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un jeu d’événements dans un style. Les setters d’événements appellent les gestionnaires d’événements spécifiés en réponse aux événements.
public ref class EventSetter : System::Windows::SetterBase
public class EventSetter : System.Windows.SetterBase
type EventSetter = class
inherit SetterBase
Public Class EventSetter
Inherits SetterBase
- Héritage
Exemples
L’exemple suivant établit une seule EventSetter dans un style de niveau page.
<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>
Les exemples de gestionnaires d’événements suivants sont les suivants :
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
Remarques
Les setters d’événements appellent les gestionnaires d’événements spécifiés en réponse à des événements routés, qui s’appliquent à tous les éléments qui référencent le Style plutôt que de vous obliger à attacher des gestionnaires d’instances à chaque élément individuel. Seuls Style.Setters prennent en charge les objets EventSetter.
Vous ne pouvez déclarer que des setters d’événements pour les événements routés. Vous pouvez déclarer des setters d’événements pour les événements routés avec une stratégie de routage directe, des événements de bubbling ou des événements de tunneling.
Les instances de la classe EventSetter sont généralement créées par le biais du langage XAML (Extensible Application Markup Language), en tant qu’élément objet dans un style défini via XAML. Une EventSetter peut également être instanciée à partir du code.
Les setters d’événements ne peuvent pas être utilisés dans un style contenu dans un dictionnaire de ressources de thème. Cela est dû au fait qu’un dictionnaire de ressources de thème au moment de l’exécution est souvent des fichiers XAML binaires libres (BAML) et n’a pas d’étendue définie où le code-behind associé qui définit les gestionnaires peut exister.
Les gestionnaires attachés via des setters d’événements sont appelés après tous les gestionnaires de classes pour un événement, ainsi qu’après tous les gestionnaires d’instances. Par conséquent, si un gestionnaire de classes ou un gestionnaire d’instances marque un événement géré dans ses arguments, le gestionnaire déclaré par un jeu d’événements n’est pas appelé, sauf si le jeu d’événements définit spécifiquement HandledEventsTootrue
.
Les setters d’événements peuvent également provenir de styles BasedOn. Les gestionnaires de jeu d’événements du style spécifiés comme BasedOn seront appelés après les gestionnaires sur le style immédiat.
Notez que seul Style.Setters prend en charge les objets EventSetter. Les déclencheurs (classesTriggerBase et dérivées) ne prennent pas en charge EventSetter.
Constructeurs
EventSetter() |
Initialise une nouvelle instance de la classe EventSetter. |
EventSetter(RoutedEvent, Delegate) |
Initialise une nouvelle instance de la classe EventSetter, à l’aide des paramètres d’événement et de gestionnaire fournis. |
Propriétés
Event |
Obtient ou définit l’événement routé particulier auquel cette EventSetter répond. |
HandledEventsToo |
Obtient ou définit une valeur qui détermine si le gestionnaire affecté au setter doit toujours être appelé, même si l’événement est marqué comme géré dans ses données d’événement. |
Handler |
Obtient ou définit la référence à un gestionnaire pour un événement routé dans le setter. |
IsSealed |
Obtient une valeur qui indique si cet objet est dans un état immuable. (Hérité de SetterBase) |
Méthodes
CheckSealed() |
Vérifie si cet objet est en lecture seule et ne peut pas être modifié. (Hérité de SetterBase) |
Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |