Краткая версия Как вы обрабатываете поиск статических ресурсов в UserControls, которые встраиваются в другие окна / пользовательские / настраиваемые элементы управления? Чтобы Blend 4 мог правильно отображать во время разработки то, что Visual Studio уже делает за вас.
Расширенная версия. Как следует из вопроса, у нас есть окно, в котором есть некоторые встроенные пользовательские элементы управления, и окно, а также все встроенные пользовательские элементы управления используют расширения разметки статических ресурсов для разрешения ссылок на ресурсы, найденные в объединенном словарь в файле app.xaml.
У Blend нет проблем с загрузкой и рендерингом любого из моих примеров пользовательских элементов управления, которые я создал в VS Designer Surface при индивидуальном открытии. У него нет проблем с разрешением бесчисленных расширений статической разметки ресурсов, которые я использую практически повсюду.
Всякий раз, когда я пытаюсь открыть свой «MainWindow.xml» (элемент управления окном), я замечал, что получаю 4 ошибки - Невозможно создать экземпляр типа, при этом Blend 4 красиво сообщает мне на ArtBoard, что он обнаружил некоторые исключения времени разработки. Углубившись в эти исключения, подключив экземпляр отладчика VS к Blend, я заметил, что каждый статический ресурс, на который я ссылался, жаловался, что не может его найти.
Для сравнения я посмотрел на созданный мной настраиваемый элемент управления, он вообще не использовал никаких статических ресурсов, вместо этого они были локальными ресурсами. Я заметил, что этот настраиваемый элемент управления, встроенный в UserControl, работает довольно хорошо. Думаю, очевидно, почему!
Есть ли у кого-нибудь на SO идеи, как обойти эту проблему? Я попробовал полностью «Добавить словарь времени разработки» ‹- который работает частично, встроенные пользовательские элементы управления по-прежнему не создаются!
Исследование
- Ошибка представления дизайнера MVVM Light + Blend: не удается найти ресурс под названием "Локатор"
- Темы с использованием ресурсов без рвоты Blend
ОБНОВЛЕНИЕ: возможные решения:
- Используйте аналогичный подход, представленный здесь: GianlucaCucco Answer
- Преобразовать все поиски статических ресурсов в локальные ресурсы для UserControls?
- Вместо этого преобразуйте все поиски статических ресурсов в динамические.
Ни одно из этих решений нельзя назвать красивым. = (