Ustaw kolor tła pola tekstowego WPF w kodzie C#

Jak mogę programowo zmienić kolory tła i pierwszego planu pola tekstowego WPF w C#?

Author: Peter Mortensen, 2009-06-11

6 answers

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

Pierwszy plan i tło WPF są typu System.Windows.Media.Brush. Możesz ustawić inny kolor w ten sposób:

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;
 278
Author: Timbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-14 12:10:40

Jeśli chcesz ustawić tło za pomocą koloru szesnastkowego, możesz to zrobić:

var bc = new BrushConverter();

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

Lub możesz skonfigurować zasób SolidColorBrush w XAML, a następnie użyć findResource w kodzie-behind:

<SolidColorBrush x:Key="BrushFFXXXXXX">#FF8D8A8A</SolidColorBrush>
myTextBox.Background = (Brush)Application.Current.MainWindow.FindResource("BrushFFXXXXXX");
 87
Author: Danield,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-21 10:31:26

Zakładam, że tworzysz TextBox w XAML?

W takim przypadku należy nadać pole tekstowe nazwę. Następnie w kodzie-za możesz ustawić właściwość Background za pomocą różnych pędzli. Najprostszym z nich jest SolidColorBrush:

myTextBox.Background = new SolidColorBrush(Colors.White);
 21
Author: James Hay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-21 10:29:45

Możesz przekonwertować hex NA RGB:

string ccode = "#00FFFF00";
int argb = Int32.Parse(ccode.Replace("#", ""), NumberStyles.HexNumber);
Color clr = Color.FromArgb(argb);
 6
Author: Mwaffak Jamal Zakariya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-21 10:31:59

Możesz użyć kolorów sześciokątnych:

your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color)
 5
Author: Mwaffak Jamal Zakariya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-30 11:11:32

Przyjrzałeś się Color.FromRgb?

 3
Author: Daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-24 20:33:50