Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Как лучше объединить фигуры


Автор: ProstoyUser 10.3.2013, 12:26
Здравствуйте. Необходимо объединить несколько Shape в одно целое, чтобы можно было перетаскивая одну фигуру по Canvas, перетаскивать и другие. Конечно все можно делать вручную в коде, но я ищу более элегантное решение (ведь если для этого есть специальные средства - ими надо воспользоваться).

Под Shape я подразумеваю эти объекты:
Код

System.Windows.Shapes.Shape
    System.Windows.Shapes.Ellipse
    System.Windows.Shapes.Line
    System.Windows.Shapes.Path
    System.Windows.Shapes.Polygon
    System.Windows.Shapes.Polyline
    System.Windows.Shapes.Rectangle


Прошу обратить внимание на слово http://msdn.microsoft.com/en-us/library/system.windows.shapes.shape.aspx. Не http://msdn.microsoft.com/en-us/library/system.windows.media.geometry.aspx.

Отличие описано http://msdn.microsoft.com/en-us/library/ms751808.aspx.
Цитата
For one, the Geometry class inherits from the Freezable class while the Shape class inherits from FrameworkElement. Because they are elements, Shape objects can render themselves and participate in the layout system, while Geometry objects cannot.


Вариант как это можно осуществить - использовать Path. Но тогда нельзя будет сделать, например, различную заливку для двух различных входящих в группу фигур, например, прямоугольника и круга.

Есть предложения? Зараннее благодарю.

Автор: snav 26.3.2013, 17:50
Я в подобных случаях помещаю все фигуры на canvas, а canvas позиционирую в другом контейнере так, как мне надо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)