所以我一直试图将以下代码中的控件彼此对齐。但它似乎不起作用。首先,我没有StackPanel,但我无法正确对齐我的控件。
这是我的代码:
<StackPanel x:Name="doelenContentPanel" HorizontalAlignment="Center">
<TextBlock x:Name="txtBOmzet" TextWrapping="Wrap" Text="Omzet: " Margin="10,58,-10,-58" HorizontalAlignment="Left" />
<TextBox x:Name="txtbOmzet" Margin="82,58,0,0" TextWrapping="Wrap" Text="" HorizontalAlignment="Center"/>
<TextBlock x:Name="txtBOmzetMaand" Margin="151,58,0,0" TextWrapping="Wrap" Text="Maand" HorizontalAlignment="Right" />
</StackPanel>
答案 0 :(得分:8)
首先,不要使用硬编码的Margin
属性,然后从每个控件中删除HorizontalAlignment
。
现在,要将控件彼此对齐,请设置StackPanel
<StackPanel x:Name="doelenContentPanel" Orientation="Horizontal">
<TextBlock x:Name="txtBOmzet" TextWrapping="Wrap" Text="Omzet: " />
<TextBox x:Name="txtbOmzet" TextWrapping="Wrap" Text="" />
<TextBlock x:Name="txtBOmzetMaand" TextWrapping="Wrap" Text="Maand" />
</StackPanel>
答案 1 :(得分:3)
知道了!
我将Orientation="Horizontal"
属性添加到StackPanel
。但是,这仅对齐此特定面板的内容。例如,如果您希望垂直对齐2 StackPanel
,然后将这2个面板的内容水平对齐,则必须执行以下操作:
<StackPanel x:Name="contentWrapper" Orientation="Vertical">
<StackPanel x:Name="doelenContentPanel" Orientation="Horizontal">
<TextBlock x:Name="txtBOmzet" TextWrapping="Wrap" Text="Omzet: " />
<TextBox x:Name="txtbOmzet" TextWrapping="Wrap" Text="" />
<TextBlock x:Name="txtBOmzetMaand" TextWrapping="Wrap" Text="Maand" />
</StackPanel>
<StackPanel x:Name="secondPanel" Orientation="Horizontal">
*this looks familiar to the first panel*
</StackPanel>