2009-06-11 24 views

Trả lời

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

WPF Nền trước và nền là loại System.Windows.Media.Brush. Bạn có thể đặt một màu khác như thế này:

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

Nếu chúng ta muốn đặt giá trị hex thành thuộc tính màu, bạn có thể làm như thế nào ?? – Sauron

+11

Bạn có thể sử dụng một cái gì đó như Cọ vẽ = new SolidColorBrush (Color.FromRgb (r, g, b)); – Timbo

+3

Ngoài ra còn có nhiều 'LinearGradientBrush' :) –

21

Tôi lấy nó là bạn đang tạo TextBox trong xaml? Trong trường hợp đó, bạn cần phải đặt tên cho hộp văn bản. Sau đó, trong mã phía sau bạn có thể thiết lập thuộc tính Background bằng cách sử dụng nhiều loại cọ vẽ. Cách đơn giản nhất là SolidColorBrush:

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

Bạn đã xem Color.FromRgb chưa?

85

Nếu bạn muốn thiết lập nền bằng cách sử dụng một màu Hex bạn có thể làm điều này:

var bc = new BrushConverter(); 

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

HOẶC

bạn có thể thiết lập một nguồn tài nguyên SolidColorBrush trong XAML, và sau đó sử dụng findResource trong codebehind

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

Nên sử dụng '(System.Windows.Media.Brush) Application.Current.FindResource (" BrushFFXXXXX ");' vì ứng dụng của bạn sẽ không ném một ngoại lệ luồng nếu nó được nâng cấp để sử dụng nhiều luồng điều phối trong tương lai . – Contango

6

bạn có thể chuyển đổi hex2rgb

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

Bạn có thể sử dụng màu hex:

your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color) 
Các vấn đề liên quan