我正在尝试在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-class使用“Left,Top,Right,Bottom”定位。我不确定如何随机计算正确的值。
答案 0 :(得分:1)
您交换了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);