私は、アプリ全体を通していくつかのコアカラーをユーザーがオンザフライで変更できるようにしようとしています。私の現在のアイデアは、私の "テーマカラー"である単一のSolidColorBrushを持って、それを私のメインスタイルを通して参照することです。App.xamlのリソースディクショナリにオンザフライで格納されているコードを使用してスタイルを変更するにはどうすればよいですか?
<SolidColorBrush x:Key="ReflectiveColor1" Color="#FF0E777B"></SolidColorBrush>
このコードは、私が試してみて、私のApp.csの色にアクセスすると、私はエラー
Application.Current.Resources["ReflectiveColor1"] = Colors.Black;
を取得し、私のApp.xaml
<Application.Resources>
<ResourceDictionary Source="DictionaryAlienwareTheme.xaml">
</ResourceDictionary>
</Application.Resources>
で参照されるのResourceDictionaryに格納されます
エラー:
System.Runtime.InteropServices.COMException: 'No installed components were
detected.
Local values are not allowed in resource dictionary with Source set
この作業を行うにはどうすればよいですか?私はそこに格納されているスタイルを変更したくないのでこのエラーがあると仮定していますが、回避策はわかりません。
色の割り当ても間違っています。以前はSolidColorBrushだったものにColorを割り当てようとしています。おそらく '((SolidColorBrush)Application.Current.Resources [" ReflectiveColor1 "])。Color = Colors.Black;' – Clemens