WPF DataGrid: сделать заголовок столбца Image ресурсом?

StackOverflow https://stackoverflow.com/questions/1439594

  •  10-07-2019
  •  | 
  •  

Вопрос

Я создал столбец флажка в сетке данных WPF и установил заголовок столбца как изображение флажка. Вот моя разметка:

<toolkit:DataGridCheckBoxColumn  Binding="{Binding Completed}" Width="25" IsReadOnly="false" >
    <toolkit:DataGridCheckBoxColumn.Header>
        <Image Source="..\Resources\Images\checkmark.png" Height="9" Width="9" Margin="3,0,0,0" />
    </toolkit:DataGridCheckBoxColumn.Header>
</toolkit:DataGridCheckBoxColumn>

Я хотел бы преобразовать этот заголовок в ресурс (например, " CheckmarkHeader "), чтобы я мог вызывать его в других сетках, используя свойство HeaderStyle столбца сетки данных - что-то вроде этого:

<toolkit:DataGridCheckBoxColumn ... HeaderStyle="CheckmarkHeader ... />

Можно ли это сделать? Как бы я это сделал? Спасибо за вашу помощь.

Это было полезно?

Решение

Это должен быть HeaderStyle ? Использование HeaderTemplate с DataTemplate примерно так работает:

<Window.Resources>
    <DataTemplate x:Key="CheckMarkTemplate">
        <Image Source="..\Resources\Images\checkmark.png" Height="9" Width="9" Margin="3,0,0,0" />
    </DataTemplate>
</Window.Resources>
...
<toolkit:DataGridCheckBoxColumn ... HeaderTemplate="CheckMarkTemplate" ... />

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top