Нам нужно динамически создавать (т.е. во время выполнения, с помощью кода) элементы UserControls и размещать их на холсте.
Мы хотим связать позицию (Canvas.Left и Canvas.Top) и ширину таких значимых (!) И перетаскиваемых (!) Пользовательских элементов управления с ObservableCollection <>. Если пользователь перетаскивает или изменяет размер элемента управления, источник данных автоматически обновляется.
Как бы мы этого достигли, если Usercontrol содержится в DataTemplate, который, в свою очередь, используется ListBox, для которого DataContext установлен на коллекцию, с которой мы хотим связать?
Другими словами, как связать позицию и размер элемента управления, который не существует в XAML, но только в коде (потому что он создается путем щелчка и перетаскивания мыши)?
Обратите внимание, что коллекция может быть пустой или не пустой, это означает, что размер и положение, хранимые в источнике данных, должны быть правильно привязаны, чтобы UserControl мог быть правильно измерен и расположен в Canvas - через DataBinding.
Это возможно?