网格中的文本框和按钮的WPF对齐方式?

时间:2014-01-22 08:03:37

标签: c# wpf alignment

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

这是负责它的代码:

<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>

无论哪种方式,我都不太确定是什么导致它......稍稍离开。另外(如果有人问)我不知道为什么我使用网格对这些对象进行分组,我在WPF中搜索了对象分组,我发现了一些答案,但Grid和Stackpanel似乎最容易使用,但Stackpanel给出了在正确对齐内容时,我会感到更头痛。 如果你有一些关于imlpementation的批评,请随意这样做,我已经订购了一些关于WPF设计的书籍,但我非常高兴并且愿意倾听经验丰富的开发者并学习。

我为“noobish”问题道歉,但我花了最后两天摆弄设置无济于事,不会来这里问其他问题。

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

您首先必须使用ColumnDefinitionsRowDefinitions声明您的行和列,然后使用属性Grid.RowGrid.Column

阅读我附上的链接将更好地解释