0

基本色と基本フォント設定ごとにすべてを含む基本スタイル ファイルがあります。次に、それを初期リソースとして使用する他の 2 つのリソース ディクショナリがあります。

次のように設定しています。

<Application.Resources>
    <ResourceDictionary>
        <localization:LocalizationLocator x:Key="LocalizedStrings" />
        <viewModels:ViewModelLocater x:Key="VmLocator" />
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="\Resources\Styles\BaseStyles.xaml" />
            <ResourceDictionary Source="\Resources\Styles\FormInputStyles.xaml" />
            <ResourceDictionary Source="\Resources\Styles\OtherControllsStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

次に、 FormInputStyles.xml から次の例外を取得します

Cannot find a Resource with the Name/Key MyNewAccentColor [Line: 17 Position: 44]

マージされた辞書を追加する前に BaseStyles.xaml を読み込む方法はありますか?

(それらをすべて同じファイルに入れることができることはわかっていますが、コードをより適切に再利用できるように、スタイルを分解したいと思います)

4

1 に答える 1

0

私はこれを自分で試したことはありませんが、MSDNページには次のように書かれています。

If multiple merged dictionaries exist, these dictionaries are checked in the inverse of the order in which they are declared in the MergedDictionaries property.

つまり、BaseStyles.xaml を最後の要素として配置しようとします。

また、この SO の質問も確認してください: Silverlight 3 での Merged Resource Dictionaries の適切な使用法

于 2013-02-08T12:46:12.593 に答える