Modèle de contenu WPF
Windows Presentation Foundation (WPF) est une plateforme de présentation qui fournit de nombreux contrôles et types de type contrôle dont l’objectif principal est d’afficher différents types de contenu. Pour déterminer le contrôle à utiliser ou le contrôle d’où dériver, vous devez comprendre les types d’objets qu’un contrôle donné peut afficher de manière optimale.
Cette rubrique récapitule le con mode tente l pour les types de contrôle et de type contrôle WPF. Le modèle de contenu décrit le contenu qui peut être utilisé dans un contrôle. Cette rubrique répertorie également les propriétés de contenu pour chaque modèle de contenu. Une propriété de contenu est une propriété qui est utilisée pour stocker le contenu de l’objet.
Classes qui contiennent du contenu arbitraire
Certains contrôles peuvent contenir un objet de n’importe quel type, tel qu’une chaîne, un DateTime objet ou un UIElement conteneur pour des éléments supplémentaires. Par exemple, un Button peut contenir une image et un texte ; ou un CheckBox peut contenir la valeur de DateTime.Now.
WPF possède quatre classes qui peuvent contenir du contenu arbitraire. Le tableau suivant répertorie les classes qui héritent de Control.
Classe qui contient du contenu arbitraire | Contenu |
---|---|
ContentControl | Objet arbitraire unique. |
HeaderedContentControl | En-tête et élément unique, correspondant tous deux à des objets arbitraires. |
ItemsControl | Collection d’objets arbitraires. |
HeaderedItemsControl | En-tête et collection d’éléments, correspondant tous deux à des objets arbitraires. |
Les contrôles qui héritent de ces classes peuvent contenir le même type de contenu et traiter le contenu de la même façon. L’illustration suivante montre un contrôle de chaque con mode tente l qui contient une image et un texte :
Contrôles qui contiennent un objet arbitraire unique
La ContentControl classe contient un seul élément de contenu arbitraire. Sa propriété de contenu est Content. Les contrôles suivants héritent et ContentControl utilisent son con mode tente l :
L’illustration suivante montre quatre boutons dont Content la valeur est définie sur une chaîne, un DateTime objet, un Rectangleet un Panel qui contient un Ellipse et un TextBlock:
Pour obtenir un exemple de définition de la Content propriété, consultez ContentControl.
Contrôles qui contiennent un en-tête et un objet arbitraire unique
La HeaderedContentControl classe hérite et affiche du ContentControl contenu avec un en-tête. Il hérite de la propriété de contenu, Contentde ContentControl et définit la Header propriété de type Object; par conséquent, les deux peuvent être un objet arbitraire.
Les contrôles suivants héritent et HeaderedContentControl utilisent son con mode tente l :
L’illustration suivante montre deux TabItem objets. Le premier TabItem a UIElement des objets comme le Header et le Content. La Header valeur est définie sur un StackPanel qui contient un Ellipse et un TextBlock. La Content valeur est définie sur un StackPanel qui contient un TextBlock et un Label. Le second TabItem a une chaîne dans le Header et un TextBlock dans le Content.
Pour obtenir un exemple de création TabItem d’objets, consultez HeaderedContentControl.
Contrôles qui contiennent une collection d’objets arbitraires
La ItemsControl classe hérite Control et peut contenir plusieurs éléments, tels que des chaînes, des objets ou d’autres éléments. Ses propriétés de contenu sont ItemsSource et Items. ItemsSource est généralement utilisé pour remplir la ItemsControl collection de données. Si vous ne souhaitez pas utiliser une collection pour remplir les ItemsControléléments, vous pouvez ajouter des éléments à l’aide de la Items propriété.
Les contrôles suivants héritent et ItemsControl utilisent son con mode tente l :
L’illustration suivante montre un ListBox qui contient ces types d’éléments :
Contrôles qui contiennent un en-tête et une collection d’objets arbitraires
La HeaderedItemsControl classe hérite ItemsControl et peut contenir plusieurs éléments, tels que des chaînes, des objets ou d’autres éléments, et un en-tête. Il hérite des ItemsControl propriétés de contenu, ItemsSourceet Itemsdéfinit la Header propriété qui peut être un objet arbitraire.
Les contrôles suivants héritent et HeaderedItemsControl utilisent son con mode tente l :
Classes qui contiennent une collection d’objets UIElement
La Panel classe positionne et organise les objets enfants UIElement . Sa propriété de contenu est Children.
Les classes suivantes héritent de la Panel classe et utilisent son con mode tente l :
Pour plus d’informations, consultez la page Vue d’ensemble de Panel.
Classes qui affectent l’apparence d’un UIElement
La Decorator classe applique des effets visuels sur ou autour d’un enfant UIElementunique. Sa propriété de contenu est Child. Les classes suivantes héritent et Decorator utilisent son con mode tente l :
L’illustration suivante montre un TextBox qui a (est décoré avec) un Border autour de lui.
TextBlock avec une bordure
Classes qui fournissent des commentaires visuels sur un UIElement
La Adorner classe fournit des indications visuelles à un utilisateur. Par exemple, utilisez un Adorner pour ajouter des handles fonctionnels à des éléments ou fournir des informations d’état sur un contrôle. La Adorner classe fournit une infrastructure qui vous permet de créer vos propres ornements. WPF ne fournit aucun ornement implémenté. Pour plus d’informations, consultez Vue d’ensemble des ornements.
Classes qui permettent aux utilisateurs d’entrer du texte
WPF fournit trois principaux contrôles qui permettent aux utilisateurs d’entrer du texte. Chaque contrôle affiche le texte de manière différente. Le tableau suivant répertorie ces trois contrôles liés au texte, leurs fonctions lors de l’affichage du texte et leurs propriétés qui contiennent le texte du contrôle.
Contrôler | Texte affiché en tant que | Propriété de contenu |
---|---|---|
TextBox | Texte brut | Text |
RichTextBox | Texte mis en forme | Document |
PasswordBox | Texte masqué (les caractères sont masqués) | Password |
Classes qui affichent votre texte
Plusieurs classes peuvent être utilisées pour afficher du texte brut ou mis en forme. Vous pouvez utiliser TextBlock pour afficher de petites quantités de texte. Si vous souhaitez afficher de grandes quantités de texte, utilisez les contrôles ou FlowDocumentScrollViewerFlowDocumentPageViewerles FlowDocumentReadercontrôles.
Il TextBlock a deux propriétés de contenu : Text et Inlines. Lorsque vous souhaitez afficher du texte qui utilise une mise en forme cohérente, la Text propriété est souvent votre meilleur choix. Si vous envisagez d’utiliser une mise en forme différente tout au long du texte, utilisez la Inlines propriété. La Inlines propriété est une collection d’objets Inline , qui spécifient comment mettre en forme du texte.
Le tableau suivant répertorie la propriété de contenu pour FlowDocumentReader, FlowDocumentPageVieweret FlowDocumentScrollViewer les classes.
Contrôler | Propriété de contenu | Type de propriété de contenu |
---|---|---|
FlowDocumentPageViewer | Document | IDocumentPaginatorSource |
FlowDocumentReader | Document | FlowDocument |
FlowDocumentScrollViewer | Document | FlowDocument |
L’interface FlowDocumentIDocumentPaginatorSource implémente ; par conséquent, les trois classes peuvent prendre en FlowDocument tant que contenu.
Classes de mise en forme du texte
TextElement et ses classes associées vous permettent de mettre en forme du texte. TextElementles objets contiennent et mettez en forme du texte dans et FlowDocument des TextBlock objets. Les deux principaux types d’objets TextElement sont des Block éléments et Inline des éléments. Un Block élément représente un bloc de texte, tel qu’un paragraphe ou une liste. Un Inline élément représente une partie du texte dans un bloc. De nombreuses Inline classes spécifient la mise en forme du texte auquel elles sont appliquées. Chacun TextElement a son propre con mode tente l. Pour plus d’informations, consultez la page Vue d’ensemble du modèle de contenu de TextElement.
Voir aussi
.NET Desktop feedback