もくじ
https://tera1707.com/entry/2022/02/06/144447#WinUI3
やりたいこと
知ってる人ならあたりまえやんといわれそうだが、
あるリソースディクショナリから、別のリソースディクショナリにあるブラシを使おうとしたときに、
リソースが見つかりませんと言われて実行時にエラーになってしまった。
具体的には、以前作ったようなテーマごとのリソースを、別のリソースディクショナリから見ようとして見れなかった。(実行時に下記のようなエラーになった。)
地味にハマったのでメモする。
対策
リソースディクショナリの中で、MergedDictionaries
する。
具体的には、下記のようにする。
使う側のリソースディクショナリ
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App8.Resources"> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Resources\ThemeResourceDictionary.xaml"/> ★★コレ★★ </ResourceDictionary.MergedDictionaries> <Style TargetType="Button"> <Setter Property="Background" Value="{ThemeResource MyBrush}" /> ・ ・ ・
ThemeResourceDictionary.xaml
の中にあるMyBrush
というブラシのリソースを、このリソースディクショナリ内で使うよ、ということ。