2010-05-22 50 views

回答

-3

,对工作方式我要有一个嵌入式文本块,并将背景更改为文本块。

+3

这看起来像一个丑陋的黑客,考虑到有更清晰和更好的方法来实现这一点。 – benPearce 2013-08-15 23:10:10

+1

这太可怕了。考虑一些其他解决方案作为真正的答案 – 2014-05-08 19:23:41

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

矩形内嵌有文本块。填充工程为整个矩形着色,但它也阻止了文本。另一方面,使用笔触首先着色矩形,我可以修改封闭的测试,但矩形没有边界。你能建议吗? – xarzu 2010-05-22 07:35:41

+0

笔画是矩形的边框,填充是矩形的内部。如果矩形内有文本块,如何在不擦除文本块的情况下填充矩形的彩色背景? – xarzu 2010-05-24 15:01:33

4

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

+0

矩形内嵌有文本块。填充工程为整个矩形着色,但它也阻止了文本。另一方面,使用笔触首先着色矩形,我可以修改封闭的测试,但矩形没有边界。你能建议吗? – xarzu 2010-05-22 11:25:29

11

假设你命名你的矩形myRectangle,您可以使用填充属性color它:

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

矩形内嵌有文本块。填充工程为整个矩形着色,但它也阻止了文本。另一方面,使用笔触首先着色矩形,我可以修改封闭的测试,但矩形没有边界。你能建议吗? – xarzu 2010-05-22 11:25:44

+0

描边用于矩形的边框,填充用于矩形的内部。如果矩形内有文本块,如何在不擦除文本块的情况下填充矩形的彩色背景? – xarzu 2010-05-24 15:02:38

28

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

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

更好:'myRectangle.Fill = System.Windows.Media.Brushes.AliceBlue;' – 2017-05-12 21:09:24

+0

我在这里搜索这个答案与UWP/UWA(通用Windows平台)有关。仅供参考 - 颜色现在可以在Windows.UI.Colors.AliceBlue – raddevus 2017-12-28 20:12:45

7

矩形的颜色在XAML为Windows Phone的:

<Rectangle Width="480" Height="200"> 
    <Rectangle.Fill> 
     <SolidColorBrush Color="Azure" /> 
    </Rectangle.Fill> 
</Rectangle> 
+1

这是使用XAML而不是C# – Brad 2013-08-15 22:09:49

3

WPF结合将能够做到这一点,而不必引用在代码中的名称控制:

<Rectangle Width="480" Height="200" Fill="{Binding Path=FillColor}"/> 

然后把一个属性放在你的DataContext类,假设你已经实现了INotifyPropertyChanged的:

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

然后您可以将您需要的颜色分配给FillColor属性和用户界面将自动更新。