我正在使用Visual stuio 2013专业版在C#和XAML(而不是WPF)中创建Windows应用商店。
我已经有一个if语句,所以程序将能够执行此功能
if (TextBoxForRainbow.Text=="rainbow" || TextBoxForRainbow.Text=="Rainbow")
{
RainbowButton.Opacity = 100;
}
我已经探索过以下方法: TextBoxForRainbow.Foreground = new SolidColorBrush(颜色:"红色");但无济于事 我发现这个方法的链接是Programmatically set TextBlock Foreground Color
是否需要插入特定的命名空间或引用来实现此功能?
我想要的是当用户在texbox中输入正确的文本时,在这种情况下是彩虹'我希望文本变成绿色。
答案 0 :(得分:0)
在您的示例中,您提到您尝试了
TextBoxForRainbow.Foreground new SolidColorBrush(color: "red");
这不会奏效,SolidColorBrush
的构造函数需要Color
,而不是字符串。
这是我的改编示例:
<强> XAML 强>
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBox x:Name='TextBoxForRainbow'
TextChanged='TextBoxForRainbow_TextChanged'
Text='Demo' />
</StackPanel>
<强>代码强>
private void TextBoxForRainbow_TextChanged(object sender, TextChangedEventArgs e) {
if (String.Equals(TextBoxForRainbow.Text,
"rainbow",
StringComparison.CurrentCultureIgnoreCase))
{
TextBoxForRainbow.Foreground = new SolidColorBrush(Windows.UI.Colors.Green);
}
}