【发布时间】:2015-12-03 12:43:52
【问题描述】:
我使用 XamDataGrid 来显示具有很长标题名称的表。标题名称中最重要的部分是它的后缀。
有什么方法可以配置列标题,当列宽小于文本大小时,我会将后缀视为标题?
例子:
要求的结果:
[...SUFFIX1][...SUFFIX2]
我没有默认行为:
[Prefix....][Prefix....]
【问题讨论】:
标签: c# wpf infragistics xamdatagrid
我使用 XamDataGrid 来显示具有很长标题名称的表。标题名称中最重要的部分是它的后缀。
有什么方法可以配置列标题,当列宽小于文本大小时,我会将后缀视为标题?
例子:
要求的结果:
[...SUFFIX1][...SUFFIX2]
我没有默认行为:
[Prefix....][Prefix....]
【问题讨论】:
标签: c# wpf infragistics xamdatagrid
一种方法是为 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"/>
在样式和结果中设置 labelPresenter 高度如下:
但是如果你想要严格按照你提到的那样使用下面链接中的控件,然后在标签演示者的内容模板中使用该控件。
【讨论】: