0

我在 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

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

4

1 回答 1

1

您链接的问题是谈论它是如何在 WPF 而不是 windows phone 中完成的。显然,对于 windows phone,您不能设置资源字典值。

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

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

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

<TextBlock x:Name="lblTileColor" Text="user color:" Foreground="{Binding ForegroundProperty"} />
于 2013-05-17T00:10:12.660 回答