【问题标题】:Infragistics XamDatagrid column resizing left to rightInfragistics XamDatagrid 列从左到右调整大小
【发布时间】:2015-12-03 12:43:52
【问题描述】:

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

有什么方法可以配置列标题,当列宽小于文本大小时,我会将后缀视为标题?

例子:

要求的结果:

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

我没有默认行为:

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

【问题讨论】:

    标签: c# wpf infragistics xamdatagrid


    【解决方案1】:

    一种方法是为 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 高度如下:

    但是如果你想要严格按照你提到的那样使用下面链接中的控件,然后在标签演示者的内容模板中使用该控件。

    Textbox with ellipsis

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 2013-10-30
      • 2013-05-05
      • 1970-01-01
      • 2014-05-27
      相关资源
      最近更新 更多