2014-09-26 5 views
0

TextBlock (및 기타 항목)을 표시하는 DataTemplate이 있습니다. 이 템플릿은 한 뷰에서는 자체 용으로, 다른 뷰에서는 ListView 용 ItemTemplate으로 사용됩니다.ListView에서 사용할 때 TextBlock의 여백이 달라집니다.

문제는 ListView에 표시 할 때 사용하는 TextBlock에 일종의 여백 (또는 패딩)이 있다는 것입니다. 나는 margin, padding, line-height 등을 성공적으로 재설정하려고 시도했다.

그래서 해결책을 찾고 있습니다. 최상은 동일하게 보일 것입니다. 그러나 또 다른 해결책은 특정 TextBlock이 음의 최고 여백을 갖도록하는 ListView에 스타일을 추가하는 것입니다.

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> 

가능하다면, 나는 목록 상자에서 사용될 때 TextBlock의의 여백을 변경하고 싶습니다. 다음 예제는 작동하지 않습니다

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

이것은 윈도우 폰 8.1 "스토어 앱"에 사용됩니다.

답변

0

속성 TextLineBounds가이를 수정했습니다. ListView에서 사용하면이 값이 다를 것이라고 생각하십니까?

내 TextBlock에 TextLineBounds = "Tight"를 추가하면 문제가 해결되었습니다.

관련 문제