Comment changer les couleurs d'arrière-plan et d'avant-plan d'une zone de texte WPF de manière programmatique en C# ?
Si nous voulons attribuer une valeur hexadécimale à l'attribut de couleur, comment faire ?
Comment changer les couleurs d'arrière-plan et d'avant-plan d'une zone de texte WPF de manière programmatique en C# ?
textBox1.Background = Brushes.Blue;
textBox1.Foreground = Brushes.Yellow;
WPF Foreground et Background sont de type System.Windows.Media.Brush
. Vous pouvez définir une autre couleur comme ceci :
using System.Windows.Media;
textBox1.Background = Brushes.White;
textBox1.Background = new SolidColorBrush(Colors.White);
textBox1.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0));
textBox1.Background = System.Windows.SystemColors.MenuHighlightBrush;
Vous pourriez utiliser quelque chose comme Brush brush = new SolidColorBrush( Color.FromRgb( r, g, b ) ) ;
Si vous souhaitez définir l'arrière-plan en utilisant une couleur hexagonale, vous pouvez le faire :
var bc = new BrushConverter();
myTextBox.Background = (Brush)bc.ConvertFrom("#FFXXXXXX");
Vous pouvez également configurer une ressource SolidColorBrush dans XAML, puis utiliser findResource dans le code-behind :
<SolidColorBrush x:Key="BrushFFXXXXXX">#FF8D8A8A</SolidColorBrush>
myTextBox.Background = (Brush)Application.Current.MainWindow.FindResource("BrushFFXXXXXX");
Il est de loin préférable d'utiliser (System.Windows.Media.Brush)Application.Current.FindResource("BrushFFXXXXX");
car votre application ne lancera pas d'exception de threading si elle est mise à niveau pour utiliser plusieurs threads de répartition à l'avenir.
Je suppose que vous créez la TextBox en XAML ?
Dans ce cas, vous devez donner un nom à la zone de texte. Ensuite, dans le code-behind, vous pouvez définir la propriété Background en utilisant diverses brosses. La plus simple d'entre elles est la SolidColorBrush :
myTextBox.Background = new SolidColorBrush(Colors.White);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.