Как определить ресурсы И MergeDictionary с ключом на странице SL4

Возможно, это действительно глупый вопрос, но я не могу разобраться.

У меня есть страница с определенным MergeDictionary:

  <navigation:Page.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../Assets/TourneySetupStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </navigation:Page.Resources>

и я ссылаюсь на стили в TourneySetupStyles.xaml в моем XAML вот так без проблем:

<TextBlock Text="Tourney Name:" Style="{StaticResource TourneySetupTextStyle}" />

Однако теперь мне нужно добавить еще один ресурс страницы вот так:

Но дизайнер теперь выдает предупреждение: "Дизайнер не поддерживает загрузку словарей, в которых смешиваются элементы 'ResourceDictionary' без ключа и другие элементы в той же коллекции. Пожалуйста, убедитесь, что свойство 'Resources' не содержит элементов 'ResourceDictionary' без ключа, или что элемент 'ResourceDictionary' является единственным элементом в коллекции."

Поэтому я добавляю ключ в свой ResourceDictionary следующим образом:

   <navigation:Page.Resources>
         <local:Tournament x:Key="tournament" />
        <ResourceDictionary x:Key="whatever">
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../Assets/TourneySetupStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>

    </navigation:Page.Resources>

и предупреждение исчезает. Но теперь моя ссылка на стиль в TourneySetupStyles больше не работает:

"Cannot find a Resource with the Name/Key TourneySetupTextStyle"

Так что я думаю, вопрос в том, как мне получить доступ к стилю теперь, когда ResourceDictionary имеет ключ?

9
задан Rodney 29 September 2010 в 00:33
поделиться