私は私のXAMLで定義されたリソースがあります。なぜコードからSolidColorBrushリソース値を設定できないのですか?
<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呼び出しからサーバーへの非同期コールバックメソッドです。
<Window.Resources>
<SolidColorBrush x:Key="Brush" Color="Aqua" />
</Window.Resources>
public MainWindow()
{
this.Resources["Brush"] = new SolidColorBrush(Colors.Green);
InitializeComponent();
}
したがって、私はあなたの問題は別の場所にあることをあなたにお勧め:あなたは新しいWPFアプリケーションでそれをしようとした場合
..私は、それは正確にあなたがあなたには、いくつかのより多くのコードを共有することができ、この値を設定しているworks.Where私の最後でそれを試してみましたか? – Nitin
私は同意する、エラーはこの典型的なアクションと一致しません。スタックトレースがありますか? –
これはおそらく、次のような事実によるものです。「Silverlightは動的リソースをサポートしていません。 XAMLのキー付きリソースへのすべてのリソース参照は静的です。[MSDN](http://msdn.microsoft.com/en-us/library/cc903925(VS.95).aspx)にリンクしてください。 –