とを持つWindow
要素があるため、タイトル バーがなく、透明度がサポートされています。WindowStyle="None"
AllowsTransparency="True"
ユーザーがウィンドウ内の任意の場所を左クリックしてドラッグすることで、ウィンドウを画面上の任意の位置に移動できるようにしたいと考えています。マウスの左ボタンが押されている限り、ウィンドウはマウスと一緒にドラッグする必要があります。
私はこの機能を 1 つの例外を除いて動作させることができました: マウスがウィンドウの外に移動したとき (マウスの左ボタンがウィンドウの端近くで押され、マウスがすばやく動かされたときなど)、ウィンドウはもはやマウスの位置をキャプチャし、マウスと一緒にドラッグしません。
これは、仕事を成し遂げるために使用するコード ビハインドのコードです。
public Point MouseDownPosition { get; set; }
public Point MousePosition { get; set; }
public bool MouseIsDown { get; set; }
private void window_MyWindowName_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
MouseDownPosition = e.GetPosition(null);
MouseIsDown = true;
}
private void window_MyWindowName_MouseMove(object sender, MouseEventArgs e)
{
if (MouseIsDown)
{
MousePosition = e.GetPosition(null);
Left += MousePosition.X - MouseDownPosition.X;
Top += MousePosition.Y - MouseDownPosition.Y;
}
}
private void window_MyWindowName_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
MouseIsDown = false;
}