动态组合矩形

时间:2018-07-27 22:40:10

标签: c# wpf

我正在尝试组合两个我需要动态创建的矩形,但是我不知道如何使用.Data绘制它们,而且我不知道如何从Windows.Shapes.Rectangle转换为Windows.Media.Geometry

Rectangle Cross1 = new Rectangle();
Cross1.Margin = new Thickness(465, -140, 0, 0);
Cross1.Height = 110;
Cross1.Width = 15;
Cross1.RenderTransform = rotateTransform1;

Rectangle Cross2 = new Rectangle();
Cross2.HorizontalAlignment = HorizontalAlignment.Left;
Cross2.VerticalAlignment = VerticalAlignment.Top;
Cross2.Margin = new Thickness(362, -103, 0, 0);
Cross2.Height = 110;
Cross2.Width = 15;
Cross2.RenderTransform = rotateTransform2;

CombinedGeometry c1 = new CombinedGeometry(GeometryCombineMode.Union, Cross1, Cross2);

1 个答案:

答案 0 :(得分:0)

CombinedGeometry类仅适用于其他System.Windows.Media.Geometry对象,而不适用于System.Windows.Shapes。您需要使用等效的RectangleGeometry类。

诸如:

RectangleGeometry Cross1 = new RectangleGeometry(new Rect(0, 0, 15, 110));
Cross1.Transform = rotateTransform1;
RectangleGeometry Cross2 = new RectangleGeometry(new Rect(0, 0, 15, 110));
Cross2.Transform  = rotateTransform2;
CombinedGeometry c1 = new CombinedGeometry(GeometryCombineMode.Union, Cross1, Cross2);