パスを使用して特定の形状を作成しています。パスを再配置せずに後で別の場所で使用できるように、すべてのパスをグループ化する最良の方法は何ですか?
どんな提案も素晴らしいでしょう、ありがとう!
パスを使用して特定の形状を作成しています。パスを再配置せずに後で別の場所で使用できるように、すべてのパスをグループ化する最良の方法は何ですか?
どんな提案も素晴らしいでしょう、ありがとう!
質問が塗りと線が 1 つだけの複雑な形状に関するものである場合、オプションは、複数のFigureを持つPathGeometryで 1 つの Path インスタンスのみを使用することです。MSDN の次の例を参照してください。
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure IsClosed="True" StartPoint="10,100">
<PathFigure.Segments>
<PathSegmentCollection>
<LineSegment Point="100,100" />
<LineSegment Point="100,50" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
<PathFigure IsClosed="True" StartPoint="10,10">
<PathFigure.Segments>
<PathSegmentCollection>
<LineSegment Point="100,10" />
<LineSegment Point="100,40" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
次に、キャンバスにグループ化してから、キャンバスを再配置できます。すべてのパス ポイントに名前を付けると、形状を変更できるようになります.... Canvas クラスを継承する MyOwnShape という新しいクラスを作成し、キャンバスのすべてのポイントにイベントをアタッチしてドラッグ アンド ドロップし、形状を取得します。変更されました。コンテンツをグリル内に配置することもできますが、そのような精度で形状を配置することはできません. あなたが達成したいことを正確に理解していれば、クラスは次のようになります
class MyOwnShapes : Canvas {
List<Path> myListOfPaths;
この例があなたにとって良いものであることを願っています。
public void AddPath(Path myPath){
this.Children.Add(path);
myListOfPaths.Add(path), // this is used for your internal computation so it wont affect the effective drawin components.
}
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465055.aspx http://www.windowsphonegeek.com/tips/drawing-in-wp7-3-understanding-path-shapes