Прикрепить полилинию к фигуре

В wpf на С# я рисую полилинию на холсте от края фигуры (прямоугольника) движением мыши. Я хочу перетащить прямоугольник с полилинией в единую фигуру. Другими словами, я хочу прикрепить полилинию к фигуре. Как это можно сделать? Использование холста в данном случае нецелесообразно, так как длина полилинии неизвестна (определяется во время работы программы) и не ограничена.


person arjacsoh    schedule 08.12.2011    source источник


Ответы (1)


Если вы используете объект пути, вы можете иметь несколько фигур пути, составляющих одну геометрию. Что касается перетаскивания, вы можете использовать метод FillContainsWithDetail() в классе геометрии для вычисления пересечения ваших фигур. Если фигуры пересекаются (или одна содержит другую), у вас есть действительная цель перетаскивания. При падении добавьте фигуру к вашему контуру, и вы получите составную форму.

person Josh C.    schedule 08.12.2011
comment
Принимают ли геометрии обработчики событий мыши? Мне нужно манипулировать ими с помощью мыши. - person arjacsoh; 08.12.2011
comment
Класс Path наследуется от Shape и имеет события мыши. Вы должны использовать два экземпляра пути, один из которых является вашей существующей составной формой, а другой представляет собой новую фигуру, которую вы хотите добавить. При сбросе вы извлекаете фигуру из нового пути и добавляете ее к существующему составному пути. - person Josh C.; 08.12.2011