поскольку мне нужно использовать ObservableCollection ViewModels и все другие функции ListView (выборы, привязку SelectedItem и т. д.), и я не привязываюсь просто линии, но что-то произвольное (другой пользовательский элемент управления, линии, прямоугольник, текст и т. д.) и расположенное на холсте.
Цель состоит в том, чтобы иметь пользовательский элемент управления, говорит CanvasView с несколькими строки, расположенные благодаря Canvas, с аналогичными функциями ListView (выбранные элементы, добавление/удаление и т. д.) и возможностью подключения к ObservableCollection.
У меня есть ObservableCollection элементов (VideoMarker):
Код: Выделить всё
public class VideoMarker
{
public int ID { get; }
public string Name { get; set; }
public int Position { get; set; }
public DateTime Created { get;}
public VideoMarker(int position, int id, string name)
{
Created = DateTime.Now;
Position = position;
ID = id;
Name = $"{name} {id}";
}
}
Код: Выделить всё
public class MarkersViewModel : INotifyPropertyChanged
{
public ObservableCollection Markers { get; } = new();
// etc...
}
Код: Выделить всё
Код: Выделить всё
Я хочу использовать свойства зависимостей: ItemsSource, SelectedItem и т. д.
Еще один момент: как я могу использовать подкласс Selector и UserControl подкласса CanvasView ? Я знаю, что могу создать подкласс только одного из них, какой из них мне следует использовать и как реализовать остальные?
Как реализовать CanvasView, чтобы я мог использовать его и указывать его ItemTemplate везде, где я использовать его, подключить его (и его элементы) к ObservableCollection?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ke-lines-a