我使用XamDataGrid显示具有非常长的标题名称的表。标题名称中最重要的部分是它的后缀。
有没有什么方法可以配置列标题,当列宽比文本大小短时,我会看到后缀为标题?
示例:
要求的结果:
[...SUFFIX1][...SUFFIX2]
而不是我的默认行为:
[Prefix....][Prefix....]
答案 0 :(得分:3)
一种方法是为LabelPresenter创建ContentTemplate:
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock VerticalAlignment="Stretch" HorizontalAlignment="Stretch" FlowDirection="RightToLeft" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}"
TextTrimming="CharacterEllipsis">
</TextBlock>
</DataTemplate>
</Setter.Value>
结果如下:
用于显示后缀部分,您可以使用textwrapping并增加LabelPresenters的高度以包装文本。这是一个更好的方式来显示整个列名称,它看起来也很好。(显然,如果这服务于你的目的)
<Setter Property="Height" Value="50"/>
在style&amp;中设置labelPresenter高度结果如下:
但是,如果你想严格按照你的提议,那么使用下面链接中的控件,然后在标签展示器的内容模板中使用该控件。