2009-06-11 13 views

答えて

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

WPF Foreground and Backgroundは、タイプ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

我々はそれを行うことができますどのように、色属性に進値を設定したい場合は? – Sauron

+11

次のようなものを使用できます。 ブラシブラシ=新しいSolidColorBrush(Color.FromRgb(r、g、b)); – Timbo

+3

さらに細かい 'LinearGradientBrush'もあります。 –

21

xamlにTextBoxを作成していますか?その場合は、テキストボックスに名前を付ける必要があります。その後、コードの背後には、様々なブラシを使用して背景プロパティを設定することができます。最も簡単なものはSolidColorBrushです:

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

Color.FromRgbを見ましたか?

85

あなたは六角色を使用して背景を設定したい場合は、あなたがこれを行うことができます:

var bc = new BrushConverter(); 

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

OR

XAMLでSolidColorBrushのリソースを設定し、その後、分離コード

中にfindResourceを使用することができますが
<SolidColorBrush x:Key="BrushFFXXXXXX">#FF8D8A8A</SolidColorBrush> 
myTextBox.Background = (Brush)Application.Current.MainWindow.FindResource("BrushFFXXXXXX"); 
+0

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

6

あなたがhex2rgb変換することができます

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

あなたは、六角色を使用することができます。

your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color) 
関連する問題