当窗口调整大小时,我在网格中定位元素时遇到了问题

本文关键字:元素 定位 遇到 问题 网格 调整 窗口 小时 | 更新日期: 2023-09-27 18:17:49

在另一个网格中有一个50x50的可拖动网格,我可以用光标移动它。(我忘了我正在使用DraggableExtender类

)

问题是,我希望可移动的网格相对定位在它的容器网格内,无论容器网格如何调整大小。我现在的解决方案是动态地改变水平对齐和垂直对齐的可移动网格每当它被移动,但这是黑客和工作不好。

在网格中相对定位是XAML中最容易做到的事情之一,但是当您有可拖动元素时就不是这样了;(

任何想法?

编辑代码和图像:

我的XAML

:

<Grid Margin="10" ClipToBounds="True" Background="#FFB4B4B4">
  <Grid Name="testGrid" MouseLeftButtonDown="testGrid_MouseLeftButtonDown" MouseLeftButtonUp="testGrid_MouseLeftButtonUp" RenderTransformOrigin="0.5,0.5" Height="100" Margin="50,0,0,0" Width="100" Background="#FFE6E6E6" local:DraggableExtenderGrid.CanDrag="true" HorizontalAlignment="Center"/>
</Grid>

和我使用DraggableExtender类(如图所示),我已经编辑应用到网格而不是画布(我希望从网格得到更好的结果)。但是两个容器产生相同的结果,即使原始类在画布上)。

这是我的两个网格的图片。我可以在它的父网格内移动较小的网格,但我想让它在窗口调整大小后保持相对定位。这就是我调整窗口大小时它当前的样子。在这个特殊的例子中,理想情况下,网格在水平和垂直方向上都保持稍微偏离中心。

当窗口调整大小时,我在网格中定位元素时遇到了问题

也许你应该试着把Grid放在Canvas里面。

看这里