ตั้งค่าสีพื้นหลังของ WPF Textbox ในรหัส C #


คำตอบ:


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
หากเราต้องการตั้งค่าเลขฐานสิบเป็นคุณลักษณะสีสามารถทำได้อย่างไร?
Sauron

11
คุณสามารถใช้บางอย่างเช่น Brush brush = ใหม่ SolidColorBrush (Color.FromRgb (r, g, b));
Timbo

3
นอกจากนี้ยังมีความสวยงามมากขึ้นLinearGradientBrush:)
BlueRaja - Danny Pflughoeft

6
อย่าลืมใส่ System.Windows.Media ด้วย
mack

99

หากคุณต้องการตั้งค่าพื้นหลังโดยใช้สี hex คุณสามารถทำได้:

var bc = new BrushConverter();

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

หรือคุณสามารถตั้งค่าทรัพยากร SolidColorBrush ใน XAML แล้วใช้ findResource ในโค้ด - หลัง:

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

มันจะดีกว่าที่จะใช้(System.Windows.Media.Brush)Application.Current.FindResource("BrushFFXXXXX");เป็นใบสมัครของคุณจะไม่โยนข้อยกเว้นเกลียวถ้ามันถูกอัพเกรดให้ใช้หลายหัวข้อรีบในอนาคต
Contango

24

ฉันคิดว่าคุณกำลังสร้างกล่องข้อความใน XAML หรือไม่

ในกรณีนี้คุณต้องตั้งชื่อให้กับกล่องข้อความ จากนั้นใน code-behind คุณสามารถตั้งค่าคุณสมบัติพื้นหลังโดยใช้แปรงหลาย ๆ วิธีที่ง่ายที่สุดคือ SolidColorBrush:

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



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.