WPF文本块在Windows 7上切断了多行

时间:2011-07-11 14:44:38

标签: wpf line textblock

我正在使用文本块在产品图片下显示产品说明。文字必须固定100px宽,但高度可以增长到30px高。如果文本仍然不适合,则必须显示省略号。这是我的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>

描述可以有多行。例如,“无线鼠标\ nQuantity:20”。它在XP上看起来不错,但在Windows 7上只显示第一行并且没有省略号。有人能在我的xaml中发现问题吗?

2 个答案:

答案 0 :(得分:2)

您的示例中有几个错误:应该,“... /&gt;”是无效的XA​​ML,并且您的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>

答案 1 :(得分:0)

根据30的字体大小MaxHeight几乎只有一行文字,因此文本块的高度不能增长。改变它或完全删除它。