2015-12-03 2 views
3

Я использую XamDataGrid для отображения таблицы с действительно длинными заголовками. Наиболее важной частью заголовка является его суффикс.Инфраструктура XamDatagrid изменение размера слева направо

Есть ли способ, которым я могу настроить заголовки столбцов так, чтобы, когда ширина столбца короче размера текста, я увижу суффикс в виде заголовка?

Пример:

Требуемый результат:

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

Вместо поведение по умолчанию у меня есть:

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

ответ

3

Способ заключается в создании ContentTemplate для LabelPresenter:

<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"/> 

набор labelPresenter высота в стиле & результата выглядит следующим образом:.

enter image description here

Но если вы хотите строго, как вы упомянули, используйте элемент управления, как показано ниже, а затем используйте этот элемент управления в шаблоне контента ведущего метки.

Textbox with ellipsis

Смежные вопросы