在ListView中使用时,TextBlock的边距不同

时间:2014-09-26 09:11:53

标签: xaml winrt-xaml windows-phone-8.1

我有一个显示TextBlock(和其他东西)的DataTemplate。 此模板既可以在一个视图中使用,也可以在另一个视图中用作ListView的ItemTemplate。

问题是我使用的一个TextBlock在ListView中显示时会有某种上边距(或填充)。我已经尝试重置边距,填充,行高等,但没有成功。

所以我正在寻找解决方案。最好的情况是它看起来是一样的..但另一个解决方案是向ListView添加一个样式,告诉特定的TextBlock将有一个减去上边距。

DataTemplate:

<DataTemplate x:Name="TemplateName">
    <StackPanel
        Background="White"
        Margin="12, 12, 12, 12">

        <TextBlock
            FontSize="42"
            Visibility="{Binding Path=..., Converter={StaticResource ...}}"
            Text="{Binding ..., Converter={StaticResource ...}, Mode=OneWay}"
            Foreground="{Binding ..., Converter={StaticResource ...}, Mode=OneWay}" />

        ... Other elements

    </StackPanel>
</DataTemplate>

如果可能,我想在ListBox中使用时更改TextBlock的边距。 以下示例无效:

<ListView ...>
    <ListView.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="Margin" Value="0, -15, 0, 0"/>
        </Style>
    </ListView.Resources>
</ListView>

这用于Windows Phone 8.1&#34;商店应用&#34;。

1 个答案:

答案 0 :(得分:0)

我发现TextLineBounds属性修复了这个问题。我在ListView中使用时猜测它的值是不同的?

添加TextLineBounds =&#34; Tight&#34;到我的TextBlock修复了问题。