MarkupExtension 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.
Fournit une classe de base pour les implémentations d’extension de balisage XAML qui peuvent être prises en charge par les services XAML .NET et d’autres lecteurs XAML et enregistreurs XAML.
public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
- Héritage
-
MarkupExtension
- Dérivé
Remarques
Les extensions de balisage retournent des objets aux appelants, en fonction de l’entrée de valeurs d’attribut de chaîne ou d’éléments de balisage en XAML. Les extensions de balisage retournent des objets d’une manière plus sophistiquée que les convertisseurs de types seuls. Un enregistreur d’objets XAML appelle un convertisseur de type, car un type ou un membre a une implémentation de convertisseur de type associée. À partir du cadre CLR de référence, cela signifie qu’un type ou un membre est TypeConverterAttribute attribué. Du point de vue du système de type XAML, cela signifie qu’un type XAML ou un membre XAML a une valeur pour sa TypeConverter
propriété. L’appel d’un convertisseur de type est lié à la définition de type ou de propriété et est toujours appelé par le traitement XAML pour ces cas. En revanche, une extension de balisage est davantage sous le contrôle du code utilisateur et du balisage produit par l’utilisateur, et peut être appliquée chaque fois qu’un scénario d’application l’exige. Une extension de balisage peut être appelée et peut être utilisée pour définir différentes valeurs de membre de type, tant que le type de retour de l’extension de balisage est assignable à cette valeur.
Pour plus d’informations sur la création d’une extension de balisage personnalisée, consultez ProvideValue. Pour plus d’informations sur les extensions de balisage en général, consultez Vue d’ensemble des extensions de balisage pour XAML. Si vous générez sur WPF et que vous utilisez ou créez des extensions de balisage pour XAML, vous trouverez d’autres informations pertinentes dans la rubrique Extensions de balisage et XAML WPF.
La ProvideValue méthode de chaque implémentation d’extension de balisage peut utiliser un au moment de IServiceProvider l’exécution qui peut fournir un contexte. Cette IServiceProvider requête est ensuite interrogée pour des services spécifiques qui transmettent des informations, telles que IProvideValueTarget ou IXamlTypeResolver. Pour plus d’informations sur les contextes de service pour une extension de balisage, consultez Contextes de service disponibles pour les convertisseurs de type et extensions de balisage.
Les classes dérivées doivent être attribuées avec MarkupExtensionReturnTypeAttribute pour informer les consommateurs du type de retour le plus spécifique disponible à partir de l’implémentation de l’extension de ProvideValue balisage.
Constructeurs
MarkupExtension() |
Initialise une nouvelle instance d’une classe dérivée de MarkupExtension. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ProvideValue(IServiceProvider) |
En cas d’implémentation dans une classe dérivée, retourne un objet qui est fourni comme valeur de la propriété cible de cette extension de balisage. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |