如何在C#中为在WPF中的XAML中声明的矩形着色?

如何在C#中为在WPF中的XAML中声明的矩形着色?

XAML中有一个矩形控件。 在我的C#代码中,有时候填充背景颜色会很好。 怎么做到这一点?

对于所有懒惰的程序员,.net颜色枚举:

myRectangle.Fill = new SolidColorBrush(System.Windows.Media.Colors.AliceBlue); 

假设您将矩形命名为myRectangle,则可以使用Fill属性对其进行着色:

 myRectangle.Height = 200; myRectangle.Width = 200; myRectangle.Stroke = new SolidColorBrush(Color.FromRgb(0, 111, 0)); myRectangle.Fill = new SolidColorBrush(Color.FromRgb(0, 111, 111)); 

XAML for Windows Phone中的矩形颜色:

      

将XAML中的x:Name属性设置为您要在c#代码中引用矩形的内容。 然后,您可以在代码中访问矩形的所有属性,例如whateverYouNamedIt.Fill

Wpf绑定可以做到这一点,而无需在代码中通过名称引用控件:

  

然后在DataContext类上放置一个属性,假设您已实现了INotifyPropertyChanged:

 public Brush FillColor { get { return this.fillColor; } set { this.fillColor = value; if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } 

然后,您可以将所需颜色分配给FillColor属性,UI将自行更新。

 Rectangle blueRectangle = new Rectangle(); // Fill rectangle with blue color blueRectangle.Fill = blueBrush; 

对我有用的方法是使用嵌入的文本块并将背景更改为文本块。