В Silverlight, как установить HeaderStyle динамического DataGridColumn - PullRequest
2 голосов
/ 02 сентября 2011

У меня есть сетка данных, и я динамически добавляю столбцы в эту сетку из моей ViewModel.У пользователя есть диалоговое окно настроек, в котором он может указать, какие столбцы отображаются в этой DataGrid.Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как установить HeaderStyle для одного из этих DataGridColumns, которые созданы в моей ViewModel.

Самая основная версия этого будет иметь возможность добавитьвсплывающая подсказка к DataGridColumnHeader для этих динамических столбцов.Обратите внимание, что эти столбцы не определяются в XAML из-за их динамической природы.Большинство столбцов управляются данными и поэтому не известны во время компиляции.

Бонусные баллы за то, как показано, как добавить кнопку в этот стиль и как настроить ее щелчок или командусвойство, чтобы я мог удалить столбец из сетки (представьте изображение x на кнопке в заголовке столбца, когда я нажимаю на это, я хочу удалить столбец.)

1 Ответ

1 голос
/ 03 сентября 2011

Вы можете назначить HeaderStyle в коде так: -

        Style headerStyle = new Style(typeof(DataGridColumnHeader));
        headerStyle.Setters.Add(new Setter(ToolTipService.ToolTipProperty, "Hello World"));

        yourDynamicColumn.HeaderStyle = headerStyle;
...