Поскольку UserControls в WPF должны иметь конструкторы без параметров, что является правильным способом предоставления им довольно сложных данных, которые необходимы «почти» во время построения. Я пытался использовать свойства зависимостей для этого, но сталкиваюсь с проблемами с дизайнером Visual Studio, препятствующими попыткам передать что-то вроде Dictionary<string,MyObject>
в типизированное свойство зависимости IDictionary<string,MyObject>
. В какой-то момент ему нужно точное совпадение типов времени компиляции, иначе XAML не появится в конструкторе, хотя приложение выполняется просто отлично.
По сути, я хочу, чтобы хороший способ передавать вещи, которые я обычно передаю в конструктор, в пользовательский элемент управления. Какой лучший способ?
Обновление:
Рассматриваемый пользовательский элемент управления всегда будет создаваться из XAML, поэтому использование конструкции без параметров в дополнение к структуре без параметров не является вариантом.
Обновление 2:
Интересной идеей было бы иметь что-то доступное из конструктора без параметров, из которого я могу получить свои данные инициализации. Что-то вроде, возможно, вопроса: кто из моих уже инициализированных предков реализует интерфейс IMyDataProvider? Это может быть похоже на то, как работает привязка источника к типу предка , за исключением того, что выполняется программно из конструктора пользовательского элемента управления.