Respuestas:
textBox1.Background = Brushes.Blue;
textBox1.Foreground = Brushes.Yellow;
WPF Foreground and Background es de tipo System.Windows.Media.Brush
. Puede configurar 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;
LinearGradientBrush
:)
Si desea establecer el fondo con un color hexadecimal, puede hacer esto:
var bc = new BrushConverter();
myTextBox.Background = (Brush)bc.ConvertFrom("#FFXXXXXX");
O puede configurar un recurso SolidColorBrush en XAML y luego usar findResource en el código subyacente:
<SolidColorBrush x:Key="BrushFFXXXXXX">#FF8D8A8A</SolidColorBrush>
myTextBox.Background = (Brush)Application.Current.MainWindow.FindResource("BrushFFXXXXXX");
(System.Windows.Media.Brush)Application.Current.FindResource("BrushFFXXXXX");
ya que su aplicación no generará una excepción de subprocesos si se actualiza para usar múltiples subprocesos de despachador en el futuro.
¿Supongo que estás creando TextBox en XAML?
En ese caso, debe darle un nombre al cuadro de texto. Luego, en el código subyacente, puede establecer la propiedad Fondo utilizando una variedad de pinceles. El más simple de los cuales es el SolidColorBrush:
myTextBox.Background = new SolidColorBrush(Colors.White);
Puede convertir hexadecimal a RGB:
string ccode = "#00FFFF00";
int argb = Int32.Parse(ccode.Replace("#", ""), NumberStyles.HexNumber);
Color clr = Color.FromArgb(argb);
Puedes usar colores hexadecimales:
your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color)