Я работаю над решением PRISM / CAL, но проблема может быть связана с WPF:
Если я создаю один экземпляр элемента управления (например, TextBlock) и добавляю его как дочерний элемент в StackPanel, невозможно добавить его как «дочерний элемент» в другой StackPanel (родительский элемент уже установил ошибку). Я вроде понимаю причину (это также происходит при использовании RegionManager).
Но каков рекомендуемый способ, если визуальный элемент управления очень сложен и должен создаваться только один раз и использоваться в двух местах ? Я согласен, что на самом деле нет смысла показывать идентичный элемент управления 2 раза на экране, но могут быть случаи, когда он полезен (например, кнопка «Закрыть все»).
Я знаю, что в случае кнопок мне нужно просто создать две кнопки, привязанные к одной базе данных ICommand. Но применимо ли это правило и к гораздо более сложным элементам управления (всегда создавайте новые экземпляры) ...
Я наткнулся на эту проблему при создании переключателя макета, который создает список кнопок и панель стека для каждого графического интерфейса отдельно, но использует статический ObservableCollection кнопок в качестве источника (который вызывает странные ошибки) ..
Есть идеи на эту тему?
Chris