ResourceDictionary с MVVM и Prism

Я создал проект Prism с одним модулем. В модуле я определил несколько представлений. Я хочу использовать ResourceDictionary для стилизации элементов пользовательского интерфейса.

Однако... если я включу следующий код в View1.xaml, я получу следующую ошибку

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

Вот код:

<UserControl.Resources>                
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="../Resources/ResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>        
    </ResourceDictionary>
</UserControl.Resources>

Если я включаю код в файл App.xaml, стиль выглядит примененным в дизайнере, но когда я запускаю проект, я получаю следующую ошибку:

Не удается найти ресурс с именем/ключом

Есть ли у вас какие-нибудь полезные советы по использованию стилей ResourceDictionary с Prism и MVVM?

Спасибо


person Aljaz Vidmar    schedule 28.04.2011    source источник
comment
У вас есть ресурс без ключа в словаре?   -  person PVitt    schedule 28.04.2011
comment
Нет... все ресурсы имеют ключ. Однако... теперь я добавил ResourceDictionary внутри Grid... как Grid.Resources, и все работает... но я не понимаю, почему это не разрешено в Usercontrol.Resources   -  person Aljaz Vidmar    schedule 28.04.2011
comment
Перемещение его из UserControl.Resources в Grid.Resources также сработало для меня, хотя я тоже понятия не имею, почему.   -  person John    schedule 21.09.2011
comment
Убедитесь, что каждый ресурс в вашем ResourceDictionary.xaml имеет атрибут x:key или x:Name, и убедитесь, что эти имена или ключи содержат только буквы, десятичные цифры и _   -  person JackNova    schedule 22.09.2011
comment
Кроме того, попробуйте проверить уникальность ключа   -  person JackNova    schedule 22.09.2011


Ответы (1)


Возможно, у этого парня была похожая проблема: играть-хорошо-вместе/" rel="nofollow">http://blog.caraulean.com/2011/09/13/how-to-make-caliburn-micro-and-silverlight-resources-in-mergeddictionaries-play -красиво-вместе/ Есть чек

person JackNova    schedule 22.09.2011
comment
Ссылка уже недействительна :-( - person Neil; 05.07.2017