【问题标题】:I'm having trouble positioning elements in a Grid when the window is resized调整窗口大小时,我无法在 Grid 中定位元素
【发布时间】:2014-08-13 13:15:32
【问题描述】:

我在另一个网格内有一个 50x50 的可拖动网格,我可以用光标四处移动。 (我忘了我使用的是 DraggableExtender 类

问题是,无论容器网格如何调整大小,我都希望可移动网格相对定位在其容器网格内。我现在的解决方案是在移动网格时动态更改可移动网格的 Horizo​​ntalAlignment 和 VerticalAlignment ,但这很麻烦并且效果不佳。

网格中的相对定位是 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 类(显示为here),我已对其进行编辑以应用于网格而不是画布(我希望从网格中获得更好的结果..但是两个容器都会产生相同的结果,即使使用画布上的原始类)。

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

【问题讨论】:

  • 欢迎来到 SO。 Jacob 如果您在此处显示一些代码以更好地理解问题,那就太好了。

标签: c# wpf vb.net xaml


【解决方案1】:

您可能应该尝试将Grid 放在Canvas 中......

看看here

【讨论】:

  • 感谢您的建议。不幸的是,这是我首先尝试的;(我认为网格会为我提供更好的相对定位,但到目前为止还没有成功
猜你喜欢
  • 2018-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-13
  • 2021-10-28
  • 1970-01-01
  • 2013-01-24
相关资源
最近更新 更多