に2つのUIElements
(矩形)とその座標があります。どのようにコードの後ろに円弧でそれらを接続することができますか?2つのUIElementを弧で接続する
0
A
答えて
2
矩形(または他のオブジェクト)に正確なヒットを得る必要はありません:Zの順序が正しいことを確認してください。 arc.SetValue(Canvas.ZIndex, -1)
はバックグラウンドにプッシュします。垂直ヒットが必要な場合は、代数を打ち消す必要があります。/
円弧(http://msdn.microsoft.com/en-us/library/ms751808.aspxを参照)の場合は、PathFigureに含める必要があります。
編集:これは2つの接続された長方形を示しています。線は単純に2つの中心間を行き来します。弧は1つの中心(pathFigureの開始点)から始まり、最初の引数は2番目のオブジェクトの中心です。
r1 = new Rectangle();
r1.Margin = new Thickness(50, 50, 0, 0);
r1.VerticalAlignment = System.Windows.VerticalAlignment.Top;
r1.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
r1.Height = 50;
r1.Width= 50;
r1.Fill = new SolidColorBrush(Colors.Red);
r2 = new Rectangle();
r2.Width = 50;
r2.Height = 50;
r2.Fill = new SolidColorBrush(Colors.Blue);
r2.Margin = new Thickness(350, 450, 0, 0);
r2.VerticalAlignment = System.Windows.VerticalAlignment.Top;
r2.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
l = new Line();
l.X1 = 75;
l.Y1 = 75;
l.X2 = 375;
l.Y2 = 475;
l.Fill = new SolidColorBrush(Colors.Purple);
l.Stroke = new SolidColorBrush(Colors.Purple);
l.StrokeThickness = 2;
l.SetValue(Canvas.ZIndexProperty, -1);
PathGeometry myPathGeometry = new PathGeometry();
// Create a figure.
PathFigure pathFigure1 = new PathFigure();
pathFigure1.StartPoint = new Point(75, 75);
pathFigure1.Segments.Add(
new ArcSegment(
new Point(375, 475),
new Size(50, 50),
45,
true, /* IsLargeArc */
SweepDirection.Clockwise,
true /* IsStroked */));
myPathGeometry.Figures.Add(pathFigure1);
// Display the PathGeometry.
Path myPath = new Path();
myPath.Stroke = Brushes.Black;
myPath.StrokeThickness = 1;
myPath.Data = myPathGeometry;
myPath.SetValue(Canvas.ZIndexProperty, -1);
LayoutRoot.Children.Add(r1);
LayoutRoot.Children.Add(r2);
LayoutRoot.Children.Add(l);
LayoutRoot.Children.Add(myPath);
関連する問題
- 1. ピア2ピア設定で2つのソケット接続を接続する方法
- 2. 2つのクライアントソケットを接続
- 3. Netty:2つのチャネルを接続する
- 4. 2つのデータベースを接続する
- 5. Cで2つのシリアルポートを接続
- 6. JSONで2つのファイルを接続
- 7. 接続2つのstrokeEndアニメーション
- 8. 接続する2つのサイト
- 9. 2つのデータベースに接続する
- 10. 2つの異なるアプリケーションで2つの別々のユーザシステムを接続する
- 11. 2つのドッカーコンテナを接続します
- 12. [Excel] 2つのExcelファイルを1対多の接続で接続します
- 13. 2つ以上のクライアントソケットを直接接続する方法は?
- 14. PHPで2つのサーバをデータベースクラスで接続する
- 15. 異なるサーバで2つのDjangoプロジェクトを接続する
- 16. 別々のページのフローチャートで2つのアクティビティを接続する
- 17. 2つのXIBを1つのViewControllerに接続する
- 18. Javascriptで2つのブラウザウィンドウ間の接続を開始する
- 19. 2つのオープン三角メッシュを接続
- 20. 2つのデータベースをlaravelに接続
- 21. ミント上の2つのssh接続を介したGUIでのMySQL接続
- 22. JavaFX:2つのノードを1行で接続する方法は?
- 23. Bluemixで2つのHAグループコンテナを接続する方法は?
- 24. codeigniterで2つのテーブルを接続する
- 25. 2つの接続間でデータを同期する方法
- 26. codeigniterで2つ以上のデータベースを接続する方法
- 27. Derbyで2つのテーブルを接続する方法
- 28. Vue.jsで2つの変数を接続する方法
- 29. Railsで2つの並列結合モデルを接続する
私はgoogleを使用していますが、私は何か有用なものを見つけることができませんでした。私はArcSegmentを作成しようとしましたが、成功しませんでした。 ArcSegment arc = new ArcSegment(x1、y1、x2、y2); – Bip