2011-02-09 4 views
0

우리 프로젝트에서 DataGridRowGroupHeader를 사용자 지정하고 있습니다. 내가 다듬을 텍스트를 얻을 수 없다는 점을 제외하면 모든 것이 잘 작동합니다.SL4 - TextTrimming in 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

나는 Yifung Lin에게서 대답을 얻었다. RowGroupHeader는 행의 너비에 고정됩니다. DataGrid 내용이 너무 길어서 RowGroupHeaders를 이런 식으로 볼 수있는 경우 가로 스크롤 막대가 표시됩니다. 열이 고정되어 문제가 나타납니다.

따라서 실제로 해결책이 없지만 텍스트가 동적으로 잘리지 않는 이유가 여기에 있습니다. 자르기를 강제하기 위해 텍스트 블록에 너비를 설정할 수 있지만 포장을하면 더 잘 작동합니다.

관련 문제