【问题标题】:Adding font color to text in Windows Phone 8 Application在 Windows Phone 8 应用程序中为文本添加字体颜色
【发布时间】:2014-03-19 18:38:09
【问题描述】:

我正在尝试使用以下代码更改 Windows Phone 8 应用程序中文本的字体颜色

RootFrame.Foreground = new SolidColorBrush(Colors.Purple);

这并没有给我字体颜色带来任何变化。我在 App.xaml.cs 构造函数中添加了这一行。

如果我以类似的方式更改背景颜色,它会起作用。请问有人能解释一下这是什么问题吗?

【问题讨论】:

  • 改变rootframe的前景不会改变里面所有文本控件的前景。您必须单独设置它们。
  • 但是背景颜色变了吗?

标签: c# windows-phone-8


【解决方案1】:

在您的 XAML 中使用 Name 属性为您的文本框设置名称,

<TextBox Name="textBox1"....>

并使用更改前景色,

textbox1.Foreground = new SolidColorBrush(Colors.Red);

【讨论】:

    【解决方案2】:
    YourTextBoxName.Foreground = new SolidColorBrush(Colors.Red);
    

    【讨论】:

    • 这是有效的。如果我想更改整个应用程序并且不想为此使用模板怎么办?
    • 没有办法申请。你必须要么追求风格,要么这样做
    【解决方案3】:

    这对我来说可以在整个应用程序中设置文本的字体颜色,而不是为每个控件单独设置它

    (App.Current.Resources["PhoneForegroundBrush"] as SolidColorBrush).Color = Colors.Purple;
    

    【讨论】:

      【解决方案4】:

      在应用程序资源中创建您的样式,然后您可以使用代码添加样式。

      创建应用资源:

      <Application.Resources>
          <Style TargetType="TextBox" x:Key="MyTextBox">
              <Setter Property="Width" Value="90" />
              <Setter Property="Background" Value="Azure"></Setter>
              <Setter Property="Foreground" Value="Purple"></Setter>
          </Style>
      </Application.Resources>
      

      那么你就可以这样设计了。

      YourTextBoxName.Style = Application.Current.Resources["MyTextBox"] as Style;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多