c# - Infragistics XamDatagrid 列从左到右调整大小

标签 c# wpf infragistics xamdatagrid

我使用 XamDataGrid 来显示标题名称非常长的表格。 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>

结果如下:

enter image description here

为了显示后缀部分,您可以使用文本换行并增加 LabelPresenters 的高度来换行文本。这是显示整个列名称的更好方法,而且看起来也不错。(显然,如果这符合您的目的)

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

在样式和结果中设置 labelPresenter 高度:

enter image description here

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

Textbox with ellipsis

关于c# - Infragistics XamDatagrid 列从左到右调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34066431/

相关文章:

c# - Wpf 扩展工具包 : DateTimePicker

c# - 如何使 BlockingCollection 可观察?

c# - 在 UWP Xaml 中创建和填充 NxN 网格

asp.net-mvc - Infragistics 隐藏列更新

c# - 是否有 Windows 7 文件夹位置控件或是否需要自定义代码?

c# - Javascript 函数适用于 onclick 但不适用于 onfocus

c# - 在 C# 中使用 StringBuilder 解释调试器有困难

c# - 从Web浏览器控件内的silverlight调用WPF中的函数

licensing - 构建服务器上的基础设施组件

c# - 调用 OnPaint 时 Infragistics UltraGrid 上的 "Index was outside the bounds of the array"