Silverlight SL4-DataGridRowGroupHeader中的文本修剪
我正在项目中自定义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" />
<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上设置一个宽度来强制修剪,但这可能更适合包装