在运行时改变颜色但是异常命中

时间:2013-05-16 23:56:06

标签: c# xaml windows-phone

我在app.xaml中定义了一个自定义SolidColorBrush

<Application.Resources>       
    <SolidColorBrush x:Key="App_DarkForeground" Color="White"/>
</Application.Resources>

在我的page1.xaml中,我使用上面的画笔

<TextBlock x:Name="lblTileColor" Text="user color:" Foreground="{StaticResource App_DarkForeground}"/>

我正在尝试根据c#中的用户事件在运行时更改此画笔的颜色。

我正在使用下面的部分来设置颜色,但是我遇到了这个例外。

Application.Current.Resources["App_DarkForeground"] = new SolidColorBrush(Color.FromArgb(0xff, 255, 122, 255));

以下是例外情况:

 An exception of type 'System.NotImplementedException' occurred in System.Windows.ni.dll but was not handled in user code

我跟着这个question,但没有运气。

1 个答案:

答案 0 :(得分:1)

你联系的问题是谈论它在WPF中的完成情况,而不是windows手机。显然,对于Windows手机,您无法设置资源字典值。

为什么不在代码中分配前景属性?

lblTileColor.Foreground = new SolidColorBrush(Color.FromArgb(0xff, 255, 122, 255));

或者,如果您使用MVVM,您可以绑定它:

<TextBlock x:Name="lblTileColor" Text="user color:" Foreground="{Binding ForegroundProperty"} />