जवाबों:
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;
LinearGradientBrush
:)
यदि आप एक हेक्स रंग का उपयोग करके पृष्ठभूमि सेट करना चाहते हैं तो आप ऐसा कर सकते हैं:
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");
क्योंकि यदि भविष्य में कई डिस्पैचर थ्रेड्स का उपयोग करने के लिए इसे अपग्रेड किया जाता है तो आपके एप्लिकेशन को थ्रेडिंग अपवाद नहीं फेंकना होगा।
मुझे लगता है कि आप XAML में TextBox बना रहे हैं?
उस स्थिति में, आपको टेक्स्ट बॉक्स को एक नाम देना होगा। फिर कोड-पीछे में आप विभिन्न प्रकार के ब्रश का उपयोग करके पृष्ठभूमि की संपत्ति सेट कर सकते हैं। इनमें से सबसे सरल है सॉलिडकोलरब्रश:
myTextBox.Background = new SolidColorBrush(Colors.White);
आप हेक्स को RGB में बदल सकते हैं:
string ccode = "#00FFFF00";
int argb = Int32.Parse(ccode.Replace("#", ""), NumberStyles.HexNumber);
Color clr = Color.FromArgb(argb);
आप हेक्स रंगों का उपयोग कर सकते हैं:
your_contorl.Color = DirectCast(ColorConverter.ConvertFromString("#D8E0A627"), Color)