У меня есть серия пользовательских элементов управления WPF в одной библиотеке классов. Существует несколько уровней элементов управления, и самый верхний уровень будет использовать несколько элементов управления более низкого уровня. Некоторые низкоуровневые элементы управления импортируют классы из других внешних библиотек DLL, а затем используют эти классы в свойствах элемента управления. Проблема заключается в том, что когда я пытаюсь поместить один из этих элементов управления более низкого уровня в элемент управления более высокого уровня, они выдают ошибку при попытке визуализации в конструкторе, заявляя, что он не может найти сборки классов, используемые для свойств. Тем не менее, они будут работать нормально, если будут помещены в главное окно исполняемого файла, и фактически будут отлично работать в режиме выполнения, а не в конструкторе. Не конец света ... но королевская боль.
В качестве быстрого примера:
using MyClassLibrary;
public partial class MyControl : UserControl
{
public MyControl {}
public MyClass ClassInstance { get; set; }
}
Приведенный выше код будет прекрасно отображаться в самом конструкторе, но только если я не попытаюсь использовать этот элемент управления внутри другого пользовательского элемента управления.
Я также знаю, что та же проблема может возникнуть из-за внешних классов, используемых в конструкторе, OnLoaded и т. Д. (Все, что выполняется дизайнером), но уже исправили их, проверив, находится ли он в режиме «Дизайн», и отключив выполнение этого кода. Просто я не могу понять, как заставить его не обрабатывать свойства элемента управления.
Есть идеи?