Infragistics XamDatagrid列从左到右调整大小

时间:2015-12-03 12:43:53

标签: c# wpf infragistics xamdatagrid

我使用XamDataGrid显示具有非常长的标题名称的表。标题名称中最重要的部分是它的后缀。

有没有什么方法可以配置列标题,当列宽比文本大小短时,我会看到后缀为标题?

示例:

要求的结果:

[...SUFFIX1][...SUFFIX2]

而不是我的默认行为:

[Prefix....][Prefix....]

1 个答案:

答案 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>

结果如下:

enter image description here

用于显示后缀部分,您可以使用textwrapping并增加LabelPresenters的高度以包装文本。这是一个更好的方式来显示整个列名称,它看起来也很好。(显然,如果这服务于你的目的)

<Setter Property="Height" Value="50"/>  

在style&amp;中设置labelPresenter高度结果如下:

enter image description here

但是,如果你想严格按照你的提议,那么使用下面链接中的控件,然后在标签展示器的内容模板中使用该控件。

Textbox with ellipsis