1

Windows 8 アプリケーションのコード ビハインドから MergedDictionaries を変更しようとしています。私の App.xaml は以下のようになります。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Common/TestTheme.xaml" />
            <ResourceDictionary Source="Common/StandardStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

その中で、すべての ResourceDictionary を削除し、コード ビハインドから新しい ResourceDictionary を追加しようとしています。Webで検索しましたが、解決策がありません。このことを成し遂げるには助けが必要です。

4

1 に答える 1

0

あなたの質問に対する簡単な解決策はないようです。MSDNで説明されているように、リソース ディクショナリを読み込んですべての項目を読み取り、オブジェクトを他のディクショナリに追加できます。

Add (C# または Visual Basic) または Insert (C++/CX) を呼び出して、既存の ResourceDictionary に項目を追加することができます。即時リソースまたはアプリ リソースのいずれかに追加できます。これらの API 呼び出しのいずれにもキーが必要です。これは、ResourceDictionary 内の各項目にキーがあるという要件を満たします。ただし、実行時に ResourceDictionary に追加する項目は、XAML リソース参照にはまったく関係ありません。アプリが読み込まれる (またはテーマの変更が検出される) ときに XAML が解析され、実行時に変更されたコレクションが使用できないかリセットされると、XAML リソース参照に必要な検索が行われます。

于 2013-08-28T14:39:37.967 に答える