Langage

SolidColorBrush Classe

Définition

Peint une zone avec une couleur unie. La couleur unie est définie par une valeur Color .

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
Object Platform::Object IInspectable DependencyObject Brush SolidColorBrush
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 null toujours dans une application du Kit de développement logiciel (SDK) d’application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue résultat auquel cet objet est associé. Représente DispatcherQueue une installation qui peut accéder au DependencyObject thread d’interface utilisateur même si le code est initié par un thread non-interface utilisateur.

(Hérité de DependencyObject)
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)

S’applique à

Voir aussi