私のプロジェクトには、というテンプレートがあります。、(コンパイル済みの)XAML ResourceDictionariesがあります。ResourceDictionaryを動的にロードする
UserControlでは、すべてのテンプレートをResourceDictionaryにロードします。私は、次のようなコードを使用します。私は書くために必要なもの
public MyView()
{
InitializeComponent();
foreach (var resourceUri in new GetResourceUrisFromTemplatesFolder())
Resources.MergedDictionaries.Add(
new ResourceDictionary
{ Source = new Uri(resourceUri, UriKind.Relative) });
}
はGetResourceUrisFromTemplatesFolder
方法です。そのフォルダからすべてのリソースを検出する必要があります。
URIが/MyAssembly;component/MyNS/Templates/Template12345.xaml
または../../Templates/Template12345.xaml
のような形をとることができ、これは可能ですか?
アセンブリのコンパイル済みリソース(MyAssembly.g.resources
)から名前を手動で変換する必要がありますか。
うん、それは 'Source'で辞書をロードするとは異なるようでないことを –