在windows商店应用程序的x和y位置绘制图像

本文关键字:位置 绘制 图像 windows 应用程序 | 更新日期: 2023-09-27 18:00:52

我正在尝试在Windows应用商店应用程序中绘制图像。该图像是在XAML设计器界面中预先绘制的。

当点击一个按钮时,我希望它的X和Y坐标随机变化;将屏幕尺寸考虑在内。

谷歌搜索和尝试确实让我有所收获。然而,问题是,图像有时会从屏幕上消失(为什么我不知道(。

如何更改X和Y位置,使图像不会从屏幕上掉下来?

我尝试过的(也有一些变体(:

var bounds = Window.Current.Bounds;
Random r = new Random();
int y = r.Next(0, (int)bounds.Right);
int x = r.Next(140, (int)bounds.Bottom);
image.Margin = new Thickness(x, y, 0,0);

供参考:140值是从顶部开始图像无法显示的位置。

我知道Thickness类使用"Left,Top,Right,Bottom"定位。我不确定如何随机计算正确的值。

在windows商店应用程序的x和y位置绘制图像

您交换了x和y值。假设你的图像在窗口大小的面板中,并且有VerticalAlignment="Top"HorizontalAlignment="Left",你可以这样做:

var bounds = Window.Current.Bounds;
var r = new Random();
int x = r.Next(0, (int)bounds.Right - (int)image.ActualWidth);
int y = r.Next(140, (int)bounds.Bottom - (int)image.ActualHeight);
image.Margin = new Thickness(x, y, -x, -y);