I'm a bit late to the party, but since I've actually implemented a Windows Kanban app in WPF (https://www.xplan-taskmanager.com/), it might be of use to others.
The board itself is a hierarchy of DockPanel-ScrollViewer-DockPanel:
<DockPanel>
<ScrollViewer x:Name="scrollPanel" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" DockPanel.Dock="Top">
<DockPanel x:Name="panel" Margin="0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</ScrollViewer>
</DockPanel>
Columns are StackPanels:
<StackPanel AllowDrop="True">
<TextBlock Name="nameLabel"></TextBlock>
<StackPanel Name="cardsPanel">
</StackPanel>
</StackPanel>
Cards are also implemented as StackPanel.
Board, Columns, and Cards have all been created as UserControl.
I'm pretty happy with the result but I see from profiling tests that performance could use some optimization. I still have to analyze alternatives but, for the moment, this works fine. Anyway, for large numbers, I've placed a "more" at the end of each column (just a button).