#c# #silverlight-4.0 #mvvm #prism #resourcedictionary
#c# #silverlight-4.0 #mvvm #prism #resourcedictionary
Вопрос:
Я создал проект 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?
Спасибо
Комментарии:
1. Есть ли у вас ресурс без ключа в словаре?
2. Нет … у всех ресурсов есть ключ. Однако … теперь я добавил ResourceDictionary внутри сетки.. нравится Grid.Resources и это работает .. но я не понимаю, почему это не позволяет это в Usercontrol. Ресурсы
3. Переносим его из UserControl. Ресурсы для Grid.Resources также работали для меня, хотя я тоже понятия не имею, почему.
4. Убедитесь, что каждый ресурс в вашем ResourceDictionary.xaml имеет атрибут x:key или x:Name, и убедитесь, что эти имена или ключи содержат только буквы, десятичные цифры и _
5. Кроме того, попробуйте проверить уникальность ключа
Ответ №1:
Возможно, у этого парня здесь была похожая проблема: http://blog.caraulean.com/2011/09/13/how-to-make-caliburn-micro-and-silverlight-resources-in-mergeddictionaries-play-nicely-together/ Есть проверка
Комментарии:
1. Ссылка больше не действительна 🙁