C#コードでWPFテキストボックスの背景色を設定する


回答:


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

WPFのフォアグラウンドとバックグラウンドのタイプはSystem.Windows.Media.Brushです。次のように別の色を設定できます。

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
16進値をcolor属性に設定したい場合は、どうすればよいですか?
Sauron、2010年

11
Brush Brush = new SolidColorBrush(Color.FromRgb(r、g、b));のようなものを使用できます。
Timbo

3
はるかにきれいですLinearGradientBrush:)
BlueRaja-Danny Pflughoeft 2010

6
必ずSystem.Windows.Mediaを含めてください。
マック

99

16進数の色を使用して背景を設定する場合は、次のようにします。

var bc = new BrushConverter();

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

または、XAMLでSolidColorBrushリソースを設定し、コードビハインドでfindResourceを使用することもできます。

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

(System.Windows.Media.Brush)Application.Current.FindResource("BrushFFXXXXX");アプリケーションが将来複数のディスパッチャスレッドを使用するようにアップグレードされた場合、アプリケーションはスレッド例外をスローしないため、使用することをお勧めします。
Contango、2016年

24

XAMLでTextBoxを作成していると思いますか?

その場合、テキストボックスに名前を付ける必要があります。次に、コードビハインドで、さまざまなブラシを使用してBackgroundプロパティを設定できます。最も簡単なのはSolidColorBrushです。

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



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.