调整为鼠标位置后重新定位 WPF 窗口



我正在创建一个小游戏,可以调整主窗口的大小以适应不断增长的棋盘。我想重新定位窗口以保留调整大小后在鼠标下方单击的按钮。目前,单击时,板会变宽并将按钮从鼠标上移开。

如何在移动窗口时将按钮定义为锚点?

我不知道是否有办法将按钮用作锚点。但是经过一番思考,我想出了一个可以为你工作的代码。 基本上,我使用鼠标相对于调整大小前后的按钮位置来相应地移动窗口。我希望它有所帮助。

private void Btn1Click(object sender, RoutedEventArgs e)
{
int widthGrowth = 50;
int heightGrowth = 80;
Button btn = sender as Button;
Point oldMousePosition = Mouse.GetPosition(btn);
Width += widthGrowth;
Height += heightGrowth;
Point newMousePosition = Mouse.GetPosition(btn);
Left += newMousePosition.X - oldMousePosition.X;
Top += newMousePosition.Y - oldMousePosition.Y;
}

最新更新