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