gpt4 book ai didi

wpf - 为什么我无法从代码中设置 SolidColorBrush 资源值?

转载 作者:行者123 更新时间:2023-12-03 03:38:57 24 4
gpt4 key购买 nike

我在 xaml 中定义了一个资源:

<core:WidgetBase xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"  x:Class="....Silverlight.LiquidityConstraintsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:core="clr-namespace:...Silverlight;assembly=....Silverlight"
xmlns:local="clr-namespace:....Silverlight"
mc:Ignorable="d">

<core:WidgetBase.Resources>
<SolidColorBrush x:Key="..." />
</core:WidgetBase.Resources>
...

我正在尝试从代码中设置它:

void _administrationClient_GetByFilterModuleSettingCompleted(object sender, GetByFilterModuleSettingCompletedEventArgs e)
{
this.Resources["..."] = new SolidColorBrush(Colors.Red);
}

但我收到错误:

该方法或操作未实现。

堆栈跟踪:

   at System.Windows.ResourceDictionary.set_Item(Object key, Object value)
at ....Silverlight.LiquidityConstraintsView._administrationClient_GetByFilterModuleSettingCompleted(Object sender, GetByFilterModuleSettingCompletedEventArgs e)
at ....Service.AdministrationServiceClient.OnGetByFilterModuleSettingCompleted(Object state)

当我向服务器发送请求以获取颜色时,就会发生这种情况,然后当它返回时,我尝试将该颜色设置为资源,即使我尝试将其设置为红色,它也会失败。

如果有帮助的话,我设置的方法是从 WCF 调用到服务器的异步回调方法。

最佳答案

如果您查看 Reflector(对于 Silverlight)中 ResourceDictionary 的 setter,您会发现它抛出 NotImplementedException,因此这在 Silverlight 中不起作用。

您可以尝试删除资源并重新添加它,但这只是盲目的尝试。

关于wpf - 为什么我无法从代码中设置 SolidColorBrush 资源值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com