我使用XamDataGrid来显示带有非常长的标题名称的表。标头名称中最重要的部分是后缀。
有什么方法可以配置列标题,即当列宽短于文本大小时,我会看到后缀作为标题吗?
例:
所需结果:
[...SUFFIX1][...SUFFIX2]
代替默认行为,我有:
[Prefix....][Prefix....]
最佳答案
一种方法是为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>
结果看起来像:
要显示后缀部分,可以使用文本包装和增加LabelPresenters的高度来包装文本。这是显示整个列名的一种更好的方法,并且看起来也不错。(显然,这符合您的目的)
<Setter Property="Height" Value="50"/>
在样式中设置labelPresenter的高度和结果如下:
但是,如果您严格按照您的要求进行操作,请在下面的链接中使用控件,然后在标签演示者的内容模板中使用该控件。
Textbox with ellipsis
关于c# - Infragistics XamDatagrid列从左到右调整大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34066431/