【问题标题】:WPF alignment of textbox and button within a Grid?网格中文本框和按钮的WPF对齐?
【发布时间】:2014-02-12 04:19:41
【问题描述】:

这是一个相当简单的问题,从技术上讲,这没什么大不了的,但是当我看到这个时,我的强迫症会感到刺痛。 我设计了一个基本的 WPF 应用程序,但我无法弄清楚为什么按钮和文本框没有正确对齐,如图所示(右下角):

这是负责它的代码:

<Grid Margin="283,365.288,18,10" Grid.ColumnSpan="2">
            <Label Content="GUID" HorizontalAlignment="Left" Margin="0,0.998,0,0" VerticalAlignment="Top" Height="22.96"/>
            <Label Content="UniqueID" HorizontalAlignment="Left" Margin="0,22.68,0,0" VerticalAlignment="Top" Height="25.516" Width="63.297"/>
            <Label Content="Akt/GZ" HorizontalAlignment="Left" Margin="0,48.196,0,0" VerticalAlignment="Top" Height="25.516" Width="63.297"/>
            <TextBox HorizontalAlignment="Left" Height="23.958" Margin="63.297,0,0,49.754" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Bottom" Width="125"/>
            <TextBox HorizontalAlignment="Left" Height="23.958" Margin="63.297,0,0,25.796" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Bottom" Width="125"/>
            <TextBox HorizontalAlignment="Left" Height="23.958" Margin="63.297,0,0,1.558" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Bottom" Width="125"/>
            <Button Content="Search" HorizontalAlignment="Left" Margin="193.297,0.998,0,0" VerticalAlignment="Top" Width="60.703" Height="22.96"/>
            <Button Content="Search" HorizontalAlignment="Left" Margin="193.297,25.236,0,0" VerticalAlignment="Top" Width="60.703" Height="22.96"/>
            <Button Content="Search" HorizontalAlignment="Left" Margin="193.297,49.194,0,0" VerticalAlignment="Top" Width="60.703" Height="22.96"/>
            <CheckBox Content="07" HorizontalAlignment="Left" Margin="259,5.498,0,0" VerticalAlignment="Top"/>
            <CheckBox Content="10" HorizontalAlignment="Left" Margin="296.915,5.498,0,0" VerticalAlignment="Top"/>
            <CheckBox Content="07" HorizontalAlignment="Left" Margin="259,29.736,0,0" VerticalAlignment="Top"/>
            <CheckBox Content="10" HorizontalAlignment="Left" Margin="296.915,29.736,0,0" VerticalAlignment="Top"/>
            <CheckBox Content="07" HorizontalAlignment="Left" Margin="259,53.694,0,0" VerticalAlignment="Top"/>
            <CheckBox Content="10" HorizontalAlignment="Left" Margin="296.915,53.694,0,0" VerticalAlignment="Top"/>
        </Grid>

无论哪种方式,我都不太确定是什么原因导致它...飘了一点。另外(如果有人问)我不确定为什么我使用 Grid 来对这些对象进行分组,我在 WPF 中的对象分组上进行了谷歌搜索,我找到了一些答案,但是 Grid 和 Stackpanel 似乎是最容易使用的,但是 Stackpanel 给出了正确对齐内容时,我更加头疼。 如果您对实施有任何批评,请随时提出,我已经订购了一些关于 WPF 设计的书籍,但我非常高兴并愿意倾听有经验的开发人员和学习。

我为“noobish”问题道歉,但过去 2 天我一直在摆弄设置,但无济于事,不会来这里问其他问题。

谢谢

【问题讨论】:

标签: c# wpf alignment


【解决方案1】:

您以错误的方式使用Grid 布局。 不推荐在Grid 中使用Margin,原因有很多(性能、拉伸问题等)

Grid 布局允许您设置行和列并在表格中对控件进行排序。

您可以在此处阅读有关它的更多信息 http://www.wpftutorial.net/GridLayout.html

您首先必须使用ColumnDefinitionsRowDefinitions 声明您的行和列,然后使用属性Grid.RowGrid.Column 将每个控件应用于它的行和列

阅读我附上的链接会更好地解释事情

【讨论】:

  • 非常感谢 Ron,我会在阅读 Valeras 链接后阅读。我想我得重写几件事:)
猜你喜欢
  • 2023-04-02
  • 1970-01-01
  • 2019-06-15
  • 2014-04-28
  • 2016-10-09
  • 2011-10-23
  • 2020-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多