Thank you this is very close to what I want, however I need to be able to show some more fields in the column header, so i was trying to use this data template
<DataTemplate x:Key="PhaseHeaderTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="9*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="6*" />
<RowDefinition Height="4*" />
<RowDefinition Height="4*" />
</Grid.RowDefinitions>
<TextBlock x:Name="Header"
Text="{Binding Title}"
VerticalAlignment="Center"
FontWeight="Medium"
FontSize="16"
Foreground="#FF494949"
TextWrapping="NoWrap"
Grid.Row="0"
Margin="0,5,0,5"
Grid.ColumnSpan="1" />
<StackPanel Grid.Row="1"
x:Name="WIPPanel"
Grid.Column="0"
Orientation="Horizontal">
<TextBlock Text="Start Date : "
Margin="0,2,0,5"
VerticalAlignment="Center"
FontWeight="Light"
Foreground="#FF767980"
FontSize="14"
TextWrapping="Wrap" />
<TextBlock Text="{Binding Start}"
Margin="0,2,0,5"
VerticalAlignment="Center"
FontWeight="Light"
Foreground="#FF767980"
FontSize="14"
TextWrapping="Wrap" />
<TextBlock Text="End Date : "
Margin="0,2,0,5"
VerticalAlignment="Center"
FontWeight="Light"
Foreground="#FF767980"
FontSize="14"
TextWrapping="Wrap" />
<TextBlock Text="{Binding End}"
Margin="0,2,0,5"
VerticalAlignment="Center"
FontWeight="Light"
Foreground="#FF767980"
FontSize="14"
TextWrapping="Wrap" />
<TextBlock Margin="0,2,0,5"
Foreground="#FF767980"
VerticalAlignment="Center"
FontWeight="Light"
FontSize="14"
TextWrapping="Wrap" />
</StackPanel>
<Border Grid.Column="1"
x:Name="CollapsedIcon"
Background="Transparent"
Grid.Row="1">
<CheckBox IsChecked="{Binding IsExpanded,Mode=TwoWay}">
</CheckBox>
</Border>
</Grid>
</DataTemplate>
In the control.
<Kanban:SfKanban Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1"
ColumnHeaderTemplate="{StaticResource PhaseHeaderTemplate}"
AutoGenerateColumns="False" Name="projKanban" DragEnter="projKanban_DragEnter" Drop="projKanban_Drop">
But I couldn't get it to work with a few things I tried here:
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
//Added Columns to the Kanban based on the Items Count in the Board
foreach(var item in Board)
{
KanbanColumn column = new KanbanColumn();
//column.Title = item.Category;
column.DataContext = item;
var columntemplate = (DataTemplate)this.Resources["PhaseHeaderTemplate"];//FindResource("PhaseHeaderTemplate");
column.ItemTemplate = columntemplate;
//Added Cards to the corresponding columns based on the task count
foreach (var task in item.Tasks)
{
column.Cards.Add(new KanbanCardItem() { Content = task });
}
Kanban.Columns.Add(column);
}
}