SolidColorBrush 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.
public ref class SolidColorBrush sealed : Brush
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Color")]
/// [Windows.Foundation.Metadata.Activatable(Microsoft.UI.Xaml.Media.ISolidColorBrushFactory, 65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SolidColorBrush final : Brush
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Color")]
[Windows.Foundation.Metadata.Activatable(typeof(Microsoft.UI.Xaml.Media.ISolidColorBrushFactory), 65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SolidColorBrush : Brush
Public NotInheritable Class SolidColorBrush
Inherits Brush
<SolidColorBrush .../>
-or-
<SolidColorBrush>colorString</SolidColorBrush>
- or -
<SolidColorBrush Color="predefinedColorName"/>
- or -
<SolidColorBrush Color="#rgb"/>
- or -
<SolidColorBrush Color="#argb"/>
- or -
<SolidColorBrush Color="#rrggbb"/>
- or -
<SolidColorBrush Color="#aarrggbb"/>
- or -
<SolidColorBrush Color="sc#scR,scG,scB"/>
- or -
<SolidColorBrush Color="sc#scA,scR,scG,scB"/>
- Héritage
- Attributs
Exemples
La façon la plus courante d’utiliser SolidColorBrush consiste à définir un élément XAML en tant que ressource dans un ResourceDictionary, puis à référencer cette ressource ultérieurement à partir d’autres parties des définitions, styles ou modèles de l’interface utilisateur à l’aide de l’extension de balisage {StaticResource} ou de l’extension de balisage {ThemeResource} .
<ResourceDictionary>
...
<SolidColorBrush x:Key="BlockBackgroundBrush" Color="#FF557EB9"/>
...
</ResourceDictionary>
<Border Background="{StaticResource BlockBackgroundBrush}"
Width="80" Height="80"/>
Il existe plusieurs façons de définir un SolidColorBrush en tant que valeur d’interface utilisateur inline plutôt que comme ressource :
- Sélectionnez une couleur prédéfinie par nom, puis appuyez sur le « raccourci » XAML que cette couleur crée un SolidColorBrush lorsqu’elle est analysée. Par exemple, vous pouvez définir le remplissage d’un rectangle sur « Rouge » comme suit :
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
- Créez une couleur dans une palette de couleurs 32 bits en spécifiant les quantités de rouge, de vert et de bleu à combiner en une seule couleur unie.
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
SolidColorBrush greenBrush = new SolidColorBrush(Colors.Green);
Windows::UI::Xaml::Media::SolidColorBrush greenBrush{ Windows::UI::Colors::Green() };
auto greenBrush = ref new SolidColorBrush(Colors::Green);
Une autre façon de définir un nouvel objet SolidColorBrush consiste à utiliser la méthode de l’utilitaire statique FromArgb . Cela est utile s’il n’existe aucune valeur de couleurs nommée pour la couleur souhaitée.
SolidColorBrush myBrush = new SolidColorBrush(Color.FromArgb(255, 20, 20, 90));
Windows::UI::Xaml::Media::SolidColorBrush myBrush{ Windows::UI::ColorHelper::FromArgb(255, 90, 200, 90) };
auto myBrush = ref new SolidColorBrush(ColorHelper::FromArgb(255, 90, 200, 90));
Remarques
Un SolidColorBrush est le type de pinceau le plus courant utilisé pour de nombreuses propriétés d’interface utilisateur possibles qui utilisent un pinceau pour remplir une partie ou l’ensemble de la zone visuelle d’un objet dans l’interface utilisateur de l’application. Voici quelques-unes des propriétés les plus couramment utilisées qui utilisent une valeur de pinceau : Control.Background, Control.Foreground, Shape.Fill, Control.BorderBrush, Panel.Background, TextBlock.Foreground.
Pour ces propriétés, une valeur Null est souvent acceptable et a le résultat que rien n’est rendu là. Si l’élément apparaît dans le même espace de coordonnées que d’autres éléments, la valeur Null d’une propriété telle que Background entraîne l’inscription de cet élément à des fins de test de positionnement et la détermination de l’origine d’un événement d’entrée. Tous les événements de pointeur, mouvements ou ainsi de suite qui se produisent sur ce point dans l’espace de coordonnées de l’interface utilisateur ne sont détectables que s’il existe une valeur autre que null pour la propriété Brush qui influence le rendu de ce point.
Un SolidColorBrush peut être créé qui utilise la valeur transparente , et bien que cela n’applique visuellement aucune modification à l’interface utilisateur (il est transparent), ce point est détectable à des fins de test de positionnement. Cela est donc différent d’une propriété Brush avec une valeur Null . Un pinceau transparent peut être utile pour des techniques telles que la création de zones de superposition sur des éléments d’interface utilisateur où vous souhaitez intercepter le test de positionnement avec un élément tel qu’un rectangle, une bordure ou un panneau. Vous pouvez le faire si les éléments sous-jacents ne peuvent pas effectuer leurs propres tests de positionnement, mais que vous souhaitez toujours détecter les événements d’entrée. Pour plus d’informations sur les tests de positionnement, consultez la section « Test d’accès » des interactions de la souris.
Les propriétés utilisant des pinceaux peuvent être animées dans le cadre de transitions ou d’animations décoratives. Vous n’animez généralement pas un objet SolidColorBrush entier, vous devrez utiliser une animation objet discrète et qui n’est ni efficace ni esthétique. Au lieu de cela, vous utilisez le ciblage de propriété pour animer uniquement la valeur Color , en utilisant l’un des types d’animation dédiés qui peuvent animer une valeur Color . Cela implique généralement d’avoir .(SolidColorBrush.Color) une partie de la valeur Storyboard.TargetProperty . Pour plus d’informations sur le ciblage de propriétés et sur la façon d’animer des propriétés qui utilisent SolidColorBrush ou d’autres valeurs de pinceau , consultez animations storyboarded.
Un SolidColorBrush est un objet partageable, comme les autres types dérivés de Brush , tels que LinearGradientBrush et ImageBrush. Étant donné qu’il est partageable un SolidColorBrush est parfois défini en XAML comme une ressource dans un ResourceDictionary XAML. L’avantage d’utiliser des ressources partageables à partir de XAML est que vous ne créez la valeur qu’une seule fois et que vous l’appliquez à plusieurs propriétés.
L’application d’une valeur UIElement.Opacity peut modifier l’apparence de couleur d’une propriété SolidColorBrush appliquée à un objet. La valeur UIElement.Opacity peut être cumulative en fonction de la disposition des objets qui se chevauchent. Les couleurs s’affichent comme prévu uniquement lorsque la valeur d’opacité nette est 1. Il existe également une propriété Brush.Opacity qui peut affecter la couleur apparente de la même façon. Brush.Opacity est généralement laissé à sa valeur par défaut de 1, sauf s’il est délibérément animé pour un effet fondu-in ou fondu-out.
Pinceaux en tant que ressources XAML
Chacun des types de pinceau pouvant être déclarés en XAML (SolidColorBrush, LinearGradientBrush, ImageBrush) est destiné à être défini comme une ressource, afin de pouvoir réutiliser ce pinceau en tant que ressource dans votre application. La syntaxe XAML indiquée pour les types de pinceau est appropriée pour définir le pinceau en tant que ressource. Lorsque vous déclarez un pinceau en tant que ressource, vous avez également besoin d’un attribut x :Key que vous utiliserez ultérieurement pour faire référence à cette ressource à partir d’autres définitions d’interface utilisateur. Pour plus d’informations sur les ressources XAML et sur l’utilisation de l’attribut x :Key, consultez les références de ressources ResourceDictionary et XAML.
L’avantage de déclarer des pinceaux en tant que ressources est qu’il réduit le nombre d’objets runtime nécessaires à la construction d’une interface utilisateur : le pinceau est désormais partagé en tant que ressource commune qui fournit des valeurs pour plusieurs parties du graphique objet.
Si vous examinez les définitions de modèle de contrôle existantes pour Windows Runtime contrôles XAML, vous verrez que les modèles utilisent largement les ressources de pinceau. La plupart de ces ressources sont des ressources système et utilisent l’extension de balisage {ThemeResource} pour la référence de ressource plutôt que l’extension de balisage {StaticResource}. Pour plus d’informations sur l’utilisation des pinceaux de ressources système dans votre propre modèle de contrôle XAML, consultez les ressources de thème XAML.
Constructeurs
| Nom | Description |
|---|---|
| SolidColorBrush() |
Initialise une nouvelle instance de la classe SolidColorBrush sans couleur. |
| SolidColorBrush(Color) |
Initialise une nouvelle instance de la classe SolidColorBrush avec la couleur spécifiée. |
Propriétés
| Nom | Description |
|---|---|
| Color |
Obtient ou définit la couleur de ce SolidColorBrush. |
| ColorProperty |
Identifie la propriété de dépendance Color . |
| Dispatcher |
Retourne |
| DispatcherQueue |
Obtient le |
| Opacity |
Obtient ou définit le degré d’opacité d’un pinceau. (Hérité de Brush) |
| RelativeTransform |
Obtient ou définit la transformation appliquée au pinceau à l’aide de coordonnées relatives. (Hérité de Brush) |
| Transform |
Obtient ou définit la transformation appliquée au pinceau. (Hérité de Brush) |
Méthodes
| Nom | Description |
|---|---|
| ClearValue(DependencyProperty) |
Efface la valeur locale d’une propriété de dépendance. (Hérité de DependencyObject) |
| GetAnimationBaseValue(DependencyProperty) |
Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active. (Hérité de DependencyObject) |
| GetValue(DependencyProperty) |
Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject. (Hérité de DependencyObject) |
| PopulatePropertyInfo(String, AnimationPropertyInfo) |
Définit une propriété qui peut être animée. (Hérité de Brush) |
| PopulatePropertyInfoOverride(String, AnimationPropertyInfo) |
En cas de substitution dans une classe dérivée, définit une propriété qui peut être animée. (Hérité de Brush) |
| ReadLocalValue(DependencyProperty) |
Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie. (Hérité de DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Inscrit une fonction de notification pour écouter les modifications apportées à une dependencyProperty spécifique sur cette instance DependencyObject . (Hérité de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Définit la valeur locale d’une propriété de dépendance sur un DependencyObject. (Hérité de DependencyObject) |
| UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annule une notification de modification qui a été précédemment inscrite en appelant RegisterPropertyChangedCallback. (Hérité de DependencyObject) |