我正在使用Silverlight 4来开发Windows Phone应用。我有一个由以下XAML定义的控件:
<Grid x:Name="LayoutRoot" Background="Transparent" Margin="0,0,0,20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image x:Name="Thumbnail" Grid.Column="0" Width="89" HorizontalAlignment="Left" VerticalAlignment="Top" />
<!-- sometimes there's a hanging word in the headline that looks a bit awkward -->
<TextBlock x:Name="Headline" Grid.Column="1" Grid.Row="0" Style="{StaticResource PhoneTextAccentStyle}" TextWrapping="Wrap" HorizontalAlignment="Left" FontSize="23.333" VerticalAlignment="Top" />
<TextBlock x:Name="Teaser" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" HorizontalAlignment="Left" Style="{StaticResource PhoneTextSubtleStyle}" TextWrapping="Wrap" VerticalAlignment="Top" Width="384"/>
</Grid>
出于某种原因,Headline
和Teaser
之间有一个空格。删除PhoneAccentStyle
无济于事。
为什么会这样?没有为这两个元素定义边距或填充。第一个网格行的高度定义为Auto
。这是否意味着它只会与其中的内容一样大?
我在这里做错了什么?
答案 0 :(得分:0)
我认为两个TextBlock
之间没有空格,但实际字母和TextBlock
的边界之间没有空格。尝试将您的布局与TextBlock
内的两个类似StackPanel
进行比较,它应该是相同的。
TextBlock
为各种角色的高度和下降保留空间。你看到的空间来自那里。
答案 1 :(得分:0)
我无法看到图像,并且XAML中未定义高度。图像的高度是多少?
答案 2 :(得分:0)
原来问题是有时textBlock.Text
会包含\n
。删除它们可以解决问题。