はい、非常に可能です。
実際のアプリケーションでは、おそらく親指のためにいくつかのカスタムコントロールを使用して、ポジショニング&マウスをキャプチャして再利用できるようにします。
ここには、このようなものの基本的な例があります。
はここでXAML
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Canvas Name="myCanvas" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Line Name="myLine" X1="100" Y1="100" X2="200" Y2="200" Stroke="Black" />
<Ellipse Name="thumb1" Fill="Blue" Width="10" Height="10" Canvas.Left="95" Canvas.Top="95" Cursor="Hand" MouseLeftButtonDown="OnPoint1Down" MouseLeftButtonUp="OnPoint1Up" MouseMove="OnPoint1Move" />
</Canvas>
</Window>
だし、ここに
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void OnPoint1Down(object sender, MouseButtonEventArgs e) {
Mouse.Capture(thumb1);
}
private void OnPoint1Up(object sender, MouseButtonEventArgs e) {
Mouse.Capture(null);
}
private void OnPoint1Move(object sender, MouseEventArgs e) {
if (e.LeftButton == MouseButtonState.Pressed) {
var point = e.GetPosition(myCanvas);
myLine.X1 = point.X;
myLine.Y1 = point.Y;
Canvas.SetLeft(thumb1, point.X - thumb1.Width/2);
Canvas.SetTop(thumb1, point.Y - thumb1.Height/2);
}
}
}
短い答えの背後にあるコードだそう、多分あなたが試した何かあなたに実行しているどのような問題を説明しなければなりませんか?どのWPFクラスを使用するか尋ねていますか? – MerickOWA
これは、マウスの左ボタンで最初に把握したマウスの移動でフォームを変更できる弾力性のある線(キャンバス上)を作成できるかどうかを最初に確認しています。私はクラスやイベントがあればそれを使うことができるかどうかを尋ねています。 – arjacsoh