我正在使用 Telerik 控制其 RadTextBox 为 Win Phone 8 SDK 开发应用程序。我需要更改不同主题的前景色 - 深色/浅色。
在我的 xml 中:
<phone:PhoneApplicationPage xmlns:Controls="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Primitives"
x:Class="PanicMe.OptionPages.ProfilePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:telerikCore="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Core"
xmlns:controls="clr-namespace:PanicMe.Controls"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True">
<Controls:RadTextBox Grid.Row="0" HorizontalAlignment="Stretch"
Text="{Binding FirstName, Mode=TwoWay}" ClearButtonVisibility="Visible"
Watermark="First Name" />
在我的 xml.cs 中:
public ProfilePage()
{
Resources.Remove("PhoneForegroundBrush");
Resources.Add("PhoneForegroundBrush", System.Windows.Media.Colors.Red);
// THIS BELOW LINE SHOWS ERROR
//((System.Windows.Media.SolidColorBrush)Resources["PhoneForegroundBrush"]).Color = System.Windows.Media.Colors.Magenta;
InitializeComponent();
Resources.Remove("PhoneForegroundBrush");
Resources.Add("PhoneForegroundBrush", System.Windows.Media.Colors.Red);
}
我尝试了不同的方法来设置 PhoneForegroundBrush 的值,但我没有看到输出结果有任何差异。我面临的问题是深色/浅色主题。如何设置 1 种颜色以便在所有情况下都可以使用(文本框中的文本可见)。
我是WinPhone8开发的新手,请帮助我。
谢谢