Skip to main content

ColumnBase.HeaderTemplate Property

Gets or sets the template that defines the column header’s presentation. This is a dependency property.

Namespace: DevExpress.UI.Xaml.Grid

Assembly: DevExpress.UI.Xaml.Grid.v21.2.dll

NuGet Package: DevExpress.Uwp.Controls

Declaration

public DataTemplate HeaderTemplate { get; set; }

Property Value

Type Description
DataTemplate

A DataTemplate object that defines the column header’s presentation.

Remarks

The data context for the HeaderTemplate template is the ColumnBase.HeaderCaption property’s value.

Example

This example demonstrates how to display an image within the Product Name column header.

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:HeaderImage"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:Grid="using:DevExpress.UI.Xaml.Grid"
    x:Class="HeaderImage.MainPage"
    mc:Ignorable="d">
    <Page.Resources>
        <DataTemplate x:Key="productHeader">
            <StackPanel Orientation="Horizontal">
                <Image Source="Product.png" Stretch="None" />
                <TextBlock Margin="3,0,0,0" Text="{Binding}" />
            </StackPanel>
        </DataTemplate>
    </Page.Resources>
    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Height="500" Width="600">
        <Grid:GridControl Name="grid" AutoGenerateColumns="False">
            <Grid:GridControl.Columns>
                <Grid:GridTextColumn FieldName="ProductName" HeaderTemplate="{StaticResource productHeader}" />
                <Grid:GridTextColumn FieldName="UnitPrice" />
                <Grid:GridTextColumn FieldName="Quantity" />
            </Grid:GridControl.Columns>
        </Grid:GridControl>
    </Grid>
</Page>
using System.Collections.ObjectModel;
using Windows.UI.Xaml.Controls;

namespace HeaderImage {
    public sealed partial class MainPage : Page {
        public MainPage() {
            this.InitializeComponent();
            grid.ItemsSource = new ProductList();
        }
        public class Product {
            public string ProductName { get; set; }
            public string Country { get; set; }
            public string City { get; set; }
            public double UnitPrice { get; set; }
            public int Quantity { get; set; }
        }

        public class ProductList : ObservableCollection<Product> {
            public ProductList()
                : base() {
                Add(new Product() { ProductName = "Chang", Country = "UK", City = "Cowes", UnitPrice = 19, Quantity = 10 });
                Add(new Product() { ProductName = "Gravad lax", Country = "Italy", City = "Reggio Emilia", UnitPrice = 12.5, Quantity = 16 });
                Add(new Product() { ProductName = "Ravioli Angelo", Country = "Brazil", City = "Rio de Janeiro", UnitPrice = 19, Quantity = 12 });
                Add(new Product() { ProductName = "Tarte au sucre", Country = "Germany", City = "QUICK-Stop", UnitPrice = 22, Quantity = 50 });
                Add(new Product() { ProductName = "Steeleye Stout", Country = "USA", City = "Reggio Emilia", UnitPrice = 18, Quantity = 20 });
                Add(new Product() { ProductName = "Pavlova", Country = "Austria", City = "Graz", UnitPrice = 21, Quantity = 52 });
                Add(new Product() { ProductName = "Longlife Tofu", Country = "USA", City = "Boise", UnitPrice = 7.75, Quantity = 120 });
                Add(new Product() { ProductName = "Alice Mutton", Country = "Mexico", City = "México D.F.", UnitPrice = 21, Quantity = 15 });
                Add(new Product() { ProductName = "Alice Mutton", Country = "Canada", City = "Tsawwassen", UnitPrice = 44, Quantity = 16 });
            }
        }
    }
}
See Also