【发布时间】:2013-03-12 13:11:49
【问题描述】:
我的 WPF 应用程序出现了一个非常奇怪的行为:我的按钮在运行时的 XY 位置似乎与我在 Visual Studio 的 xaml 编辑器中设置时的位置不同(顺便说一句,它有名称吗?)
它周围没有设置对齐或面板,我只设置了边距。我的按钮有以下代码:
<Button Content="OK" Height="23" Margin="213,319,4,7" Name="button3" Width="75" IsCancel="True" Click="button3_Click" IsEnabled="False" />
编辑:
边距是固定的,因为它是一个不可调整大小的对话框。如您所见,按钮略微向左和向上移动:
xaml 编辑器:
运行时:
为什么会这样,我该如何解决?
【问题讨论】:
-
发散怎么办?周围的标签是什么?无论如何都应避免使用边距定位。
-
这里有同样的问题,你想说什么发散......当你什么都不做或调整窗口大小时按钮会移动......等等......@HenkHolterman,为什么不定位与保证金?什么是替代方案? (或者你想说尺寸不应该通过边距来完成?那么我完全同意你的观点:))...顺便说一句,上面的代码设置了边距 和 尺寸,所以其中之一无论如何,设置肯定会被忽略,尤其是在调整窗口大小时...
-
发布(完整)XAML。这也是关于周围的网格。
-
@ArnoSaxena - 使用边距是设计师所做的,但它很糟糕。而且从来没有必要。图片中的布局可以/应该使用简单的网格来完成。
-
我认为您在理解 WPF 容器方面存在问题。我认为您最好使用
VerticalAlignments和HorizontalAlignments而不是那个边距。您能否粘贴所有带有按钮、容器、列表的 XAML ......?帮你改正会更容易。
标签: c# wpf wpf-positioning