2014-09-26 49 views
0

我有一個顯示TextBlock(和其他東西)的DataTemplate。 該模板既可用於一個視圖中的self,也可用作另一個視圖上ListView的ItemTemplate。在ListView中使用TextBlock的邊距有所不同

問題是,我使用的一個TextBlock在ListView中顯示時有某種頂邊(或填充)。我嘗試重置margin,padding,line-height等沒有成功。

所以我正在尋找一個解決方案。最好的方法是如果它看起來一樣..但另一種解決方案是向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「商店應用」被使用。

回答

0

我發現TextLineBounds屬性解決了這個問題。我猜在ListView中使用這個值是不同的?

將TextLineBounds =「Tight」添加到我的TextBlock中解決了問題。