Имеется канва на которой я могу рисовать квадраты, а их соединять линиями. Также я могу выделять эти квадраты и перетаскивать как захочу, и соответственно линии также перетягиваются за квадратами. Всё было хорошо, пока я использовал класс Line
.
Как можно связать через Binding
один из концов Polyline
и центр квадрата? У квадрата есть свойства зависимости X и Y и просто свойство CenterPoint.
До этого были связаны квадрат и просто линия - Line
. Код был таким:
public void BindingLineXY2(ref MyLine line)
{
Binding bindLX2 = new Binding();
bindLX2.Source = this;
bindLX2.Path = new PropertyPath("X");
bindLX2.Mode = BindingMode.TwoWay;
line.MakedLine.SetBinding(Line.X2Property, bindLX2);
Binding bindLY2 = new Binding();
bindLY2.Source = this;
bindLY2.Path = new PropertyPath("Y");
bindLY2.Mode = BindingMode.TwoWay;
line.MakedLine.SetBinding(Line.Y2Property, bindLY2);
}
Таким же образом X1 и Y1 биндились.
Решил модернизировать до Polyline
и столкнулся с трудностями.
У класса Polyline
есть свойство зависимости PointsProperty
.
Это коллекция точек, к которой ты и можешь привязаться. Положи в неё с нужного тебе края центральную точку квадрата и наслаждайся. Квадрат, соответственно, тоже может быть привязан к точке из этой коллекции. Напрямую, думаю, будет не очень красиво и довольно грязно. Так что лучше через ViewModel с INotifyPropertyChanged
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый деньРеализовал вероятностный алгоритм определение простоты числа на основе малой теоремы Ферма
Хочу сохранять при закрытии формы данные в файл и потом загружатьПри сохранении все сохраняется, а при открытии не загружается
Используется Visual Studio 2015; Devexpress 171