我有一些TextBlock
,我希望将它们组合在一起,这样如果其中一个恰好包含大量文本,则它下方的控件会相应地向下移动。
目前我已将TextBlock
包裹在<StackPanel>
中,但是,控件现在已经被垂直分隔。如何缩短它们之间的距离?
这是我的代码:
<StackPanel>
<TextBlock TextAlignment="Left" x:Name="lblCategoryTitle" TextWrapping="Wrap" Text="Category"
VerticalAlignment="Top" Height="29" Width="456" Margin="0,59,0,0" FontWeight="Bold">
<TextBlock.Foreground>
<SolidColorBrush Color="{StaticResource PhoneAccentColor}" />
</TextBlock.Foreground>
</TextBlock>
<TextBlock Height="auto" TextAlignment="Left" x:Name="lblCategory" TextWrapping="Wrap"
Text="Category" Margin="0,88,10,428" />
<TextBlock TextAlignment="Left" x:Name="lblContactDetails" TextWrapping="Wrap"
Text="Contact Details" Margin="0,179,289,396" FontWeight="Bold">
<TextBlock.Foreground>
<SolidColorBrush Color="{StaticResource PhoneAccentColor}" />
</TextBlock.Foreground>
</TextBlock>
<TextBlock Height="auto" TextAlignment="Left" x:Name="lblName" TextWrapping="Wrap" Text="Name"
Margin="0,211,10,364" />
<TextBlock Height="auto" TextAlignment="Left" x:Name="lblAddress" TextWrapping="Wrap"
Text="Address" Margin="0,243,10,332" />
<TextBlock Height="auto" TextAlignment="Left" x:Name="lblEmail" TextWrapping="Wrap" Text="Email"
Margin="0,275,10,300" />
<TextBlock Height="auto" TextAlignment="Left" x:Name="lblTelephone" TextWrapping="Wrap"
Text="Telephone" Margin="0,307,10,268" />
</StackPanel>
我想我也应该问StackPanel
是否适合我的要求。你们有什么想法?
答案 0 :(得分:1)
你有一些非常大的利润 - 如果你减少边距的大小,文本块会更接近。您不需要将所有内容偏移到顶部(实际上,不应该),因为stackpanel将处理<StackPanel>
答案 1 :(得分:1)
如果您不希望控件被广泛分隔,只需缩小边距即可。看起来您在更改面板类型后忘记调整边距。
例如,对于您的上一个TextBlock:
<TextBlock Height="auto" TextAlignment="Left" x:Name="lblTelephone" TextWrapping="Wrap"
Text="Telephone" Margin="0,307,10,268" />
边距的四个数字分别表示左边距,上边距,右边距,下边距。所以只需减少第二个数字就可以了。