UGP Community Toolkit DataGrid резервирует немного места в заголовке столбца для значка сортировки, и это выглядит очень странно. Когда вы не используете сортировку (или даже когда столбец не сортируется), в заголовке столбца таблицы данных есть пространство шириной 35px, в котором ничего нет. Если вы уменьшите ширину столбца, он отрежет текст заголовка задолго до того, как это действительно потребуется.
Я разработал решение, получив заголовок после его загрузки, пройдя по визуальному дереву и вручную назначив свойства, которые мне были нужны - но это кажется большой работой и сломается, если шаблон изменится. ?
Есть ли лучший способ сделать это?
Как я сейчас изменяю заголовок:
var mainPanel = (Windows.UI.Xaml.Controls.Grid)VisualTreeHelper.GetChild(header, 0);
if (mainPanel != null)
{
var contentPanel = (Windows.UI.Xaml.Controls.Grid)VisualTreeHelper.GetChild(mainPanel, 1);
contentPanel.ColumnDefinitions[1].MinWidth = 0;
var fontIcon = (FontIcon)VisualTreeHelper.GetChild(contentPanel, 1);
fontIcon.Margin = new Thickness(2, 0, 2, 0);
fontIcon.SetBinding(UIElement.VisibilityProperty,//hide it instead of using opacity
new Binding()
{
Source = fontIcon,
Path = new PropertyPath(nameof(FontIcon.Opacity)),
Converter = new ShowSortingIconValueConverter()
});
SetCustomizeHeader(header, false);
}