web-dev-qa-db-fra.com

Définition de l'arrière-plan du panneau avec un code de couleur personnalisé

Dans WPF, je peux définir l’arrière-plan d’un panneau de pile à l’aide du code ci-dessous.

stackPanelFlasher.Background = Brushes.Aqua;

Comment définir la couleur en tant que code de couleur hexadécimale, par exemple #C7DFFC?

17
Shyju
BrushConverter bc = new BrushConverter();  
stackPanelFlasher.Background=  (Brush)bc.ConvertFrom("#C7DFFC"); 

Devrait faire le travail. Si vous voulez le rendre imperméable, le mieux serait 

BrushConverter bc = new BrushConverter();  
Brush brush=(Brush)bc.ConvertFrom("#C7DFFC"); 
brush.Freeze();
stackPanelFlasher.Background=brush;

a besoin de moins de ressources ...

35
HCL
stackPanelFlasher.Background = new SolidColorBrush(Color.FromArgb(alpha, red, green, blue));
11
Thomas Levesque

Je pense que cet exemple vous aide pour la solution xaml;

 <Border.Background>
       <LinearGradientBrush EndPoint="1.204,0.5" StartPoint="0.056,0.5">
           <GradientStop Color="#FFFFFFFF" Offset="0" />
           <GradientStop Color="#FFD4D7DB" Offset="1" />
       </LinearGradientBrush>                     
  </Border.Background>
8
NetSide

L'oneliner suivant devrait fonctionner.

something.Background = (Brush)new BrushConverter().ConvertFrom("#C7DFFC");
0
nPcomp