website

C# Tech

【C#】Application.Resourcesでハマったこと

「ロナえる」の夫です。

今回は、C#でApplication.Resourceを利用するにあたってハマったことと、その対処方法を紹介します。

Application.Resourceで何をしようとしたのか

僕がやりたかったことは、

  • App.xaml(Application.Resource)にStyleを定義
  • 他のxamlで定義したUIに上記Styleを反映

そのために、App.xamlと他のxaml(ここでは、MainWindow.xaml)を次のように記述しました。

App.xaml

MainWindow.xaml

発生した例外

実行してみると、次の例外が発生しました。。。

Exception: 'DefaultStyle' という名前のリソースが見つかりません。リソース名は大文字と小文字を区別します。

ググってみても「Application.Resourceは簡単に使えるよ!!!」みたいなものばっかり。。。

解決策

ググっていくと最終的にこちらに辿り着きました!

https://github.com/PrismLibrary/Prism/issues/1575

「Application.Resourceに1要素だけだと、ダメな時あるからもう一つ足して」

のようなことが記載してあり、その通りに1要素追加したらうまく行きました!!!!!

今回、意味はないけど次の一文を追加

<SolidColorBrush x:Key="MyBackground" Color="Blue"/>

App.xaml

無事、Styleが反映されてUIが表示されました。

-C#, Tech,
-, , ,