Заголовок центрального столбца в сетке данных в UWP - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь центрировать заголовок столбца в DataGrid. Чтобы добавить DataGrid в UWP UI, я использую пакет nuget "Microsoft.Toolkit.Uwp.UI.Controls.DataGrid", как указано в документации Microsoft. Ссылка введите описание ссылки здесь . Я пробовал искать здесь, но есть решение для WPF, только в этой ссылке введите описание ссылки здесь .

В этом коде я не могу использовать TargetType = "DataGridColumnHeader".

<controls:DataGrid.Columns>
 <controls:DataGridTextColumn Header="Area Name" Binding="{Binding Height_m}" Width="*">
  <controls:DataGridTextColumn.HeaderStyle>
   <Style TargetType="DataGridColumnHeader">
     <Setter Property="HorizontalContentAlignment" Value="Center" />
   </Style>
  </controls:DataGridTextColumn.HeaderStyle>
 </controls:DataGridTextColumn>
</controls:DataGrid.Columns>

Показывает исключение: имя "DataGridColumnHeader" не существует в пространстве имен с использованием: Microsoft.Toolkit .Uwp.UI.Controls».

1 Ответ

0 голосов
/ 20 апреля 2020

DataGridColumnHeader находится не под пространством имен Microsoft.Toolkit.Uwp.UI.Controls, а под пространством имен Microsoft.Toolkit.Uwp.UI.Controls.Primitives.

Поэтому необходимо добавить соответствующую ссылку на пространство имен:

xmlns:prim="using:Microsoft.Toolkit.Uwp.UI.Controls.Primitives"

...

<controls:DataGrid.ColumnHeaderStyle>
    <Style TargetType="prim:DataGridColumnHeader">
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="MinWidth" Value="200" />
    </Style>
</controls:DataGrid.ColumnHeaderStyle>

The MinWidth установлен для лучшего просмотра эффекта центрирования, если он вам не нужен, вы можете удалить его.

Однако, поскольку содержимое столбца зависит от содержимого столбца, вы можете заметить, что заголовок не центрирован, тогда вы можете рассмотреть возможность установки MinWidth.

Спасибо

...