SL4 - TextTrimming в DataGridRowGroupHeader

Я настраиваю 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 не обрезается, и кажется, что он должен просто отлично.

Заранее спасибо!

1 ответ

Решение

Я получил ответ от Ифунг Лин. RowGroupHeader фиксируется по ширине строки. Предполагается, что горизонтальная полоса прокрутки появляется, когда содержимое DataGrid слишком длинное, и RowGroupHeaders можно просматривать таким образом. Проблема возникает, когда столбцы заморожены.

Таким образом, на самом деле решения не существует, но это причина, по которой текст не будет обрезаться динамически. Ширина может быть установлена ​​в текстовом блоке для принудительной обрезки, но это, вероятно, будет работать лучше для переноса.

Другие вопросы по тегам