Silverlight SL4-DataGridRowGroupHeader中的文本修剪

Silverlight SL4-DataGridRowGroupHeader中的文本修剪,silverlight,expression-blend,texttrimming,Silverlight,Expression Blend,Texttrimming,我正在项目中自定义DataGridRowGroupHeader。一切都很好,只是我不能把文本修剪一下 风格如下: <sdk:DataGrid.RowGroupHeaderStyles> <Style TargetType="sdk:DataGridRowGroupHeader"> <Setter Property="Cursor" Value="Arrow" />

我正在项目中自定义DataGridRowGroupHeader。一切都很好,只是我不能把文本修剪一下

风格如下:

            <sdk:DataGrid.RowGroupHeaderStyles>
            <Style TargetType="sdk:DataGridRowGroupHeader">
                <Setter Property="Cursor" Value="Arrow" />
                <Setter Property="IsTabStop" Value="False" />
                <Setter Property="Background" Value="Transparent" />
                <Setter Property="Height" Value="20"/>
                <Setter Property="Margin" Value="18,0,20,0"/>
                <Setter Property="IsEnabled" Value="False"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="sdk:DataGridRowGroupHeader">
                            <Grid Name="Root" 
                                Margin="{TemplateBinding Margin}"
                                Background="{TemplateBinding Background}"
                                HorizontalAlignment="Stretch"
                                >
                                <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CurrentStates">
                                        <VisualState x:Name="Regular"/>
                                        <VisualState x:Name="Current">
                                            <Storyboard>
                                                <DoubleAnimation Storyboard.TargetName="FocusVisual" Storyboard.TargetProperty="Opacity" To="1" Duration="0" />
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>

                                <Border BorderBrush="Yellow" BorderThickness="1" Visibility="Visible">

                                <TextBlock x:Name="txbGroupingName"
                                    Margin="4,0,0,0" 
                                    Text="{Binding Name}" 
                                    FontSize="13" 
                                    TextTrimming="WordEllipsis"
                                    HorizontalAlignment="Left"
                                    Style="{StaticResource OrangeBodyText}"
                                    />

                                </Border>

                                <Rectangle Name="FocusVisual" 
                                    Stroke="{StaticResource BorderFocusBrush}" 
                                    StrokeThickness="1" 
                                    HorizontalAlignment="Stretch" 
                                    VerticalAlignment="Stretch" 
                                    IsHitTestVisible="false" 
                                    Opacity="0" />

                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </sdk:DataGrid.RowGroupHeaderStyles>

TextBlock txbGroupingName中的文本不会被修剪,看起来应该很好


提前谢谢

我从林毅峰那里得到了答案。RowGroupHeader固定为行的宽度。当DataGrid内容太长时,会出现一个水平滚动条,可以通过这种方式查看RowGroupHeader。当列冻结时,问题才会出现

因此实际上没有解决方案,但这就是文本不会动态修剪的原因。可以在textblock上设置一个宽度来强制修剪,但这可能更适合包装