Как реализовать элемент управления WPF с собственным DataTemplate DependencyProperty?C#

Место общения программистов C#
Ответить
Anonymous
 Как реализовать элемент управления WPF с собственным DataTemplate DependencyProperty?

Сообщение Anonymous »

Я разработчик WPF среднего уровня, обладающий практическими знаниями о том, как реализовать свойства зависимостей, а также простые пользовательские элементы управления. Я пока не понимаю, как добавить свойство зависимости DataTemplate к пользовательскому элементу управления и использовать его для определения дерева элементов для каждого элемента данных в коллекции данных.
Полная история: что я работаю над созданием элемента управления картой WPF, который отображает на карте множество различных точек и геометрических фигур поверх фрагментов карты. Эти фигуры будут трансформироваться вместе с остальной частью карты, когда пользователь «перетаскивает» карту.
Мне это удалось, поскольку я создал элемент управления картой и могу добавлять дочерние элементы к это в Xaml, у которого есть координаты карты. Я хотел бы пойти дальше и добавить свойства для коллекций данных, то есть точек, областей и т. д. Чтобы лучше понять, что я ищу, я хотел бы воссоздать два свойства из ListBox: ItemsSource и ItemTemplate.< /p>
Я добавил в элемент управления Map два свойства зависимостей — PointsSource и PointsTemplate. PointsSource имеет тип IEnumerable и представляет собой коллекцию данных для отображения на карте. PointsTemplate представляет, как должна выглядеть каждая из этих данных. Очевидно, что просто передать эти свойства под мой контроль недостаточно, но я не уверен, как согласовать их друг с другом. Если у кого-нибудь есть практические знания по созданию пользовательского элемента управления данными с собственными свойствами DataTemplate для изменения дерева пользовательского интерфейса для каждого элемента данных, я был бы очень признателен.

Подробнее здесь: https://stackoverflow.com/questions/232 ... cyproperty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»