2009-06-11 51 views

Respuesta

261
textBox1.Background = Brushes.Blue; 
textBox1.Foreground = Brushes.Yellow; 

WPF Primer plano y fondo es del tipo System.Windows.Media.Brush. Puede establecer otro color como este:

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; 
+2

Si queremos establecer un valor hexadecimal para el atributo de color, la forma en que se puede hacer ?? – Sauron

+11

Puede usar algo como Cepillo de pincel = nuevo SolidColorBrush (Color.FromRgb (r, g, b)); – Timbo

+3

También está el 'LinearGradientBrush' mucho más bonito :) –

21

Supongo que está creando el TextBox en xaml? En ese caso, debe darle un nombre al cuadro de texto. Luego, en el código que se encuentra detrás, puede establecer la propiedad de Fondo usando una variedad de pinceles. El más simple de lo que es la SolidColorBrush:

myTextBox.Background = new SolidColorBrush(Colors.White); 
3

¿Ha echado un vistazo a Color.FromRgb?

85

Si desea configurar el fondo con un color Hex usted puede hacer esto:

var bc = new BrushConverter(); 

myTextBox.Background = (Brush)bc.ConvertFrom("#FFXXXXXX"); 

O

podría configurar un recurso SolidColorBrush en XAML, y luego usar FindResource en CodeBehind

<SolidColorBrush x:Key="BrushFFXXXXXX">#FF8D8A8A</SolidColorBrush> 
myTextBox.Background = (Brush)Application.Current.MainWindow.FindResource("BrushFFXXXXXX"); 
+0

Es mucho preferible utilizar '(System.Windows.Media.Brush) Application.Current.FindResource (" BrushFFXXXXX ");' ya que su aplicación no arrojará una excepción de subprocesamiento si se actualiza para usar múltiples subprocesos de despachadores en el futuro . – Contango

6

puede convertir hex2rgb

string ccode = "#00FFFF00"; 
int argb = Int32.Parse(ccode.Replace("#", ""), NumberStyles.HexNumber); 
Color clr = Color.FromArgb(argb); 
5

Puede utilizar colores Hex:

your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color) 
Cuestiones relacionadas