如何以编程方式使用System.Drawing.Color设置WPF文本块的背景和前景属性?没有转换器的解决方案会很好。
System.Drawing.Color BackColor = System.Drawing.Color.Black;
System.Drawing.Color ForeColor = System.Drawing.Color.White;
TextBlock txt = new TextBlock ();
txt.Background=BackColor ;
txt.ForeGround=ForeColor ;
PS:我将指定的颜色来自Windows窗体应用程序 因此它将是一个System.Drawing.Color而不是 WPF要求的System.Windows.Media.Color。
答案 0 :(得分:4)
您需要使用Brush
而不是Color
。
有几个预定义的画笔,所以你可以这样做:
txt.Background = Brushes.Black;
txt.Foreground = Brushes.White;
但是,当您从Windows窗体应用程序中读取颜色时,您必须从组件颜色创建Brush
:
txt.Background = new SolidColorBrush(Color.FromArgb(BackColor.A, BackColor.R, BackColor.G, BackColor.B));
答案 1 :(得分:1)
你可以这样做:
System.Drawing.Color BackColor = System.Drawing.Color.Black;
txt.Background = new SolidColorBrush(
Color.FromArgb(BackColor.A, BackColor.R, BackColor.G, BackColor.B));