这是我第一次使用Microfoft Expression Blend。我的项目是Silverlight Prototype(sketchflow)。 我有一个TextBox(TextBox = logUser),我想改变它的前景色。
我尝试logUser.Foreground = Brushes.Black
我在另一篇文章(How do you change the text colour of a label programmatically in Microsoft Expression Blend 4)中阅读,但它不起作用。
答案 0 :(得分:2)
Silverlight没有Brushes类,因此会引发错误。
我经历了System.Windows.Media的定义并且知道它为你提供了一个继承自Brush的 SolidColorBrush
#region Assembly System.Windows.dll, v2.0.50727
using System.Windows;
using System.Windows.Markup;
namespace System.Windows.Media
{
// Summary:
// Paints an area with a solid color.
[ContentProperty("Color", true)]
public sealed class SolidColorBrush : Brush
{
// Summary:
// Identifies the System.Windows.Media.SolidColorBrush.Color dependency property.
//
// Returns:
// The identifier for the System.Windows.Media.SolidColorBrush.Color dependency
// property.
public static readonly DependencyProperty ColorProperty;
// Summary:
// Initializes a new instance of the System.Windows.Media.SolidColorBrush class
// with no color.
public SolidColorBrush();
//
// Summary:
// Initializes a new instance of the System.Windows.Media.SolidColorBrush class
// with the specified System.Windows.Media.Color.
//
// Parameters:
// color:
// The color to apply to the brush.
public SolidColorBrush(Color color);
// Summary:
// Gets or sets the color of this System.Windows.Media.SolidColorBrush.
//
// Returns:
// The brush's color. The default value is System.Windows.Media.Colors.Transparent.
public Color Color { get; set; }
}
}
为了达到你想要的效果,你必须使用如下的SolidColorBrush:
logUser.Foreground = new SolidColorBrush(Colors.Black);