XamlObjectWriter 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.
Crée un graphe d’objets à partir d’un flux de nœud XAML source.
public ref class XamlObjectWriter : System::Xaml::XamlWriter, System::Xaml::IXamlLineInfoConsumer
public class XamlObjectWriter : System.Xaml.XamlWriter, System.Xaml.IXamlLineInfoConsumer
type XamlObjectWriter = class
inherit XamlWriter
interface IXamlLineInfoConsumer
Public Class XamlObjectWriter
Inherits XamlWriter
Implements IXamlLineInfoConsumer
- Héritage
- Implémente
Remarques
Méthodes Write d’implémentation d’un XamlObjectWriter modèle afin que l’utilisation XamlObjectWriter soit XamlWriter définie par la WriteNode méthode.
WriteNode la logique bascule entre les Write méthodes, selon le type de nœud situé à la position actuelle dans le lecteur.
Étendue
A XamlObjectWriter un concept d’étendue ; autrement dit, le XamlObjectWriter maintien d’un point de référence conceptuel dans son graphique d’objet de sortie. Pour une étendue particulière, certaines opérations peuvent être valides ou non valides, ou produire un résultat sans opération. Par exemple, si vous appelez WriteStartMember à écrire des directives pour l’initialisation sur un objet qui existe déjà en tant qu’instance, l’implémentation par défaut lève une exception.
Une technique possible pour le suivi de l’étendue dans une application personnalisée XamlObjectWriter consiste à aligner les actions de nœud avec une pile ou une classe frame. La pile ou l’image peut effectuer le suivi de l’envoi (push) et de la fenêtre contextuelle pour chaque niveau de profondeur du modèle objet entré ou quitté pendant l’écriture XamlObjectWriter du graphique d’objet.
Rappels
Pour prendre en charge les scénarios intermédiaires et avancés XamlObjectWriter , le mécanisme d’écriture d’un graphique objet fournit des points d’entrée de rappel qui se produisent lorsqu’une XamlObjectWriter validation ou est sur le point de valider certaines actions. Certains rappels sont activés dans les paramètres et ne sont pas spécifiques au type d’objet ou au membre en cours d’écriture ; Toutefois, les informations de rappel sont souvent disponibles dans le contexte ou se trouve dans les données d’événement envoyées via le rappel. Voici une liste de rappels pertinents :
Le rappel déclaré par AfterBeginInitHandler est appelé lorsque l’étendue passe à un nouvel objet et à la BeginInit phase de durée de vie de l’objet pour chaque objet créé.
Le rappel déclaré par AfterEndInitHandler est appelé lorsque l’étendue passe à un nouvel objet et à la EndInit phase de durée de vie de l’objet pour chaque objet créé.
Le rappel déclaré par BeforePropertiesHandler est appelé lorsque l’étendue démarre dans un objet et se produit lorsque le premier WriteStartMember appel à cette étendue d’objet est effectué, mais qu’il n’est pas encore validé.
Le rappel déclaré par AfterPropertiesHandler est appelé lorsque l’étendue démarre dans un objet et se produit lorsque l’appel WriteEndObject à cette étendue d’objet est effectué, mais qu’il n’est pas encore validé.
Le rappel déclaré par XamlSetValueHandler est appelé lorsqu’il OnSetValue est appelé.
Écriture de clés de dictionnaire
L’implémentation par défaut de la conversion de XamlObjectWriter type sur les contraintes d’un Dictionary<TKey,TValue> contenu du dictionnaire est ajoutée au graphe d’objets. De cette façon, un dictionnaire générique peut être clé au moment de l’exécution par des objets et peut correspondre au comportement générique Add et indexeur approprié. Toutefois, comme implémenté pour la base XamlObjectWriter, cette fonctionnalité existe uniquement pour la création de graphiques d’objets à partir de la classe de base Dictionary<TKey,TValue> et non pour les classes dérivées de Dictionary<TKey,TValue>.
Vérifications de la suppression
Les enregistreurs XAML sont potentiellement utilisés pour les opérations différées ou lorsqu’un appel est effectué sur une instance d’enregistreur XAML qui a été supprimée dans l’intervalle. Différentes API de XamlObjectWriter peuvent être levées ObjectDisposedException dans ces cas.
Constructeurs
| Nom | Description |
|---|---|
| XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings) |
Initialise une nouvelle instance de la classe à l’aide XamlObjectWriter du contexte utilisé par un XamlReader et ses paramètres. |
| XamlObjectWriter(XamlSchemaContext) |
Initialise une nouvelle instance de la classe à l’aide XamlObjectWriter du contexte de schéma XAML utilisé par un XamlReader. |
Propriétés
| Nom | Description |
|---|---|
| IsDisposed |
Obtient si Dispose(Boolean) elle a été appelée. (Hérité de XamlWriter) |
| Result |
Obtient le dernier objet écrit. Généralement appelé uniquement lorsque le flux de nœud est à sa fin et que le graphique d’objet est terminé. |
| RootNameScope |
Obtient le INameScope service qui gère le namescope XAML pour la racine absolue du nœud de l’enregistreur d’objets XAML. |
| SchemaContext |
Obtient le contexte de schéma XAML actif. |
| ShouldProvideLineInfo |
Obtient une valeur qui indique si un service d’informations de ligne doit fournir des valeurs et, par conséquent, doit également appeler la SetLineInfo(Int32, Int32) méthode lorsqu’elle est pertinente. |
Méthodes
| Nom | Description |
|---|---|
| Clear() |
Réinitialise tous les cadres possibles et efface le graphique d’objet. |
| Close() |
Ferme l’objet writer XAML. (Hérité de XamlWriter) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par le XamlObjectWriter, et éventuellement, libère les ressources managées. |
| 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) |
| OnAfterBeginInit(Object) |
Appelle toute AfterBeginInitHandler méthode associée XamlObjectWriterSettings à cette XamlObjectWriterméthode . |
| OnAfterEndInit(Object) |
Appelle toute AfterEndInitHandler méthode associée XamlObjectWriterSettings à cette XamlObjectWriterméthode . |
| OnAfterProperties(Object) |
Appelle toute AfterPropertiesHandler méthode référencée associée XamlObjectWriterSettings à ce XamlObjectWriterparamètre . |
| OnBeforeProperties(Object) |
Appelle toute BeforePropertiesHandler méthode référencée associée XamlObjectWriterSettings à ce XamlObjectWriterparamètre . |
| OnSetValue(Object, XamlMember, Object) |
Appelle toute XamlSetValueHandler méthode référencée associée à XamlObjectWriterSettings cet enregistreur, tant que les |
| SetLineInfo(Int32, Int32) |
Implémente et fournit des SetLineInfo(Int32, Int32) informations de ligne pour les exceptions. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| WriteEndMember() |
Ferme l’étendue de membre actuelle et peut écrire la valeur de l’étendue du membre pendant qu’elle se ferme. La nouvelle étendue devient l’étendue de l’objet parent du membre. |
| WriteEndObject() |
Ferme l’étendue de l’objet actuel dans l’enregistreur. La nouvelle étendue d’objet devient l’étendue de membre parent. |
| WriteGetObject() |
Écrit le concept |
| WriteNamespace(NamespaceDeclaration) |
Définit une déclaration d’espace de noms qui s’applique à l’étendue de l’objet ou à l’étendue membre suivante. |
| WriteNode(XamlReader) |
Effectue un basculement en fonction du type de nœud à partir du lecteur XAML (NodeType) et appelle la méthode appropriée |
| WriteStartMember(XamlMember) |
Écrit un nouveau nœud de membre dans l’étendue de l’objet actuel et l’étendue devient une nouvelle étendue de membre. |
| WriteStartObject(XamlType) |
Écrit un nœud d’objet dans l’étendue actuelle et définit l’étendue sur une nouvelle étendue d’objet. |
| WriteValue(Object) |
Écrit une valeur dans l’étendue de membre actuelle. Si l’étendue actuelle se trouve à l’intérieur d’une collection, d’un dictionnaire ou d’un objet de tableau, la valeur doit être ajoutée à la collection, au dictionnaire ou au tableau. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IDisposable.Dispose() |
Voir Dispose(). (Hérité de XamlWriter) |