質問
私は、MouseMoveイベントハンドラ内で画像を更新し、マウスカーソルの位置を追跡するWPFアプリケーションを作成したいと思います。 (GeometryDrawingsためのXAMLは簡単そうですが)私の独創的な考えは、GeometryDrawingを作成し、それにパスを追加することでしたが、私は、コードでこれをアップ配線方法に苦しみました。このようなものを配線する最も簡単な方法は何だ - そのちょうどので、デバッグのために、私は効率が心配ないよ。
。解決
どのようなだけでポリラインを使用してはどうですか?
ここでXAMLです。
<Window
x:Class="CursorLine.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
>
<Canvas x:Name="canvas" Background="#00FFFFFF" MouseMove="Canvas_MouseMove">
<Polyline x:Name="polyline" Stroke="DarkGreen" StrokeThickness="3"/>
</Canvas>
</Window>
ここでコードが背後にいます:
private void Canvas_MouseMove(object sender, MouseEventArgs e)
{
polyline.Points.Add(e.GetPosition(canvas));
}
他のヒント
GeometryGroupを使用してください。これは、複数の子ジオメトリを持つことができますあなたのケースであなたは、マウスの位置を中心に、各マウスの移動ポイントのEllipseGeometryを追加します。だから、何かます:
private GeometryGroup _allMousePoints = new GeometryGroup();
void OnMouseMove(...)
{
_allMousePoints.Children.Add(
new EllipseGeometry {
Center = mouseLocation,
RadiusX = 3,
Radius Y = 3
});
}
あなたは今GeometryDrawingまたはパスのデータのジオメトリとして_allMousePointsを使用することができます。
所属していません StackOverflow