Текстовый блок WPF обрезает несколько строк в Windows 7 - PullRequest
2 голосов
/ 11 июля 2011

Я использую текстовый блок для отображения описания продукта под изображением продукта. Текст должен иметь фиксированную ширину 100 пикселей, но высота может возрасти до 30 пикселей. Если текст по-прежнему не помещается, он должен отображать многоточие. Вот мой xaml:

<StackPanel>
  <!-- I use canvas here to reserve some space for animation (grow/shrink) -->
  <Canvas Height="75" Width="75">
     <Image x:Name="picture" Height="64" Width="64" .../>
  <Canvas/>
  <TextBlock Width="100" MaxHeight="30" 
        TextTrimming="CharacterEllipsis" TextWrapping="Wrap"
        Text="{Binding Path=ProductDescription}" 
        HorizontalAlignment="Center" VerticalAlignment="Top" TextAlignment="Center">
</StackPanel>

Описание может иметь несколько строк. Например, «Беспроводная мышь \ nКоличество: 20». В XP все выглядит нормально, но в Windows 7 отображается только первая строка, а многоточие отсутствует. Кто-нибудь может определить проблему в моем xaml?

Ответы [ 2 ]

2 голосов
/ 11 июля 2011

В вашем примере есть несколько ошибок: если "... />" не является допустимым XAML, а ваш TextBlock не имеет закрывающего тега.

Следующий XAML отлично работал для меняв Windows 7:

<StackPanel>  
    <!-- I use canvas here to reserve some space for animation (grow/shrink) -->  
    <Canvas Height="75" Width="75">     
        <Image x:Name="picture" Height="64" Width="64" />  
    </Canvas>

    <TextBlock Width="100" MaxHeight="30"         
        TextTrimming="CharacterEllipsis" TextWrapping="Wrap"        
        Text="I use canvas here to reserve some space for animation (grow/shrink)"         
        HorizontalAlignment="Center" 
        VerticalAlignment="Top" 
        TextAlignment="Center" />       
</StackPanel>
0 голосов
/ 11 июля 2011

В зависимости от размера шрифта MaxHeight из 30 - это почти одна строка текста, поэтому текстовый блок не может увеличиваться по высоте. Поменяйте или полностью удалите.

...