Infragistics XamDatagrid 列从左到右调整大小

Infragistics XamDatagrid column resizing left to right

我使用 XamDataGrid 来显示 table 非常长的 header 名称。 header 名称最重要的部分是它的后缀。

有什么方法可以配置列 headers,当列宽小于文本大小时,我会看到后缀为 header?

示例:

要求的结果:

[...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 高度:

但是,如果您严格按照您提到的那样使用,请使用下面的控件 link,然后在标签展示器的内容模板中使用该控件。

Textbox with ellipsis