0

there is a Problem in my TextBlock. I have a Resource in a ResourceDictionary of type String and this is bound to an TextBlock via DynamicResource.

On my TextBlock there is TextTrimming active, but on this "Binding" the TextTrimming is not working.

Is this a bug in the framework or i am doing it wrong?

Here's my sample:

   <Grid Grid.Column="1" HorizontalAlignment="Center" Height="60" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
<TextBlock Text="{DynamicResource PART_HeaderString}" VerticalAlignment="Center"  TextTrimming="CharacterEllipsis" Grid.Column="1"/>
                </Grid>

and my String in the resource:

<sys:String x:Key="PART_HeaderString">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</sys:String>

There are many ways to get this working, but I want to know why this isn't working right.

4

1 回答 1

1

您需要限制网格宽度TextTrimming才能应用。TextBlock 位于宽度设置为的第二列中,Auto因此它将扩展到控件的实际宽度,即在您的情况下为 TextBlock。

而是为第二列设置一些硬编码的宽度,例如50或将其设置为*. 这样所有 3 列共享相同的宽度。

<Grid.ColumnDefinitions>
   <ColumnDefinition Width="*"/>
   <ColumnDefinition Width="50"/> <-- HERE
   <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

您将看到现在应用了 TextTrimming。

于 2014-02-27T12:51:49.737 回答