I created a ListView with a column of checkboxes that I wanted centred as below:
Sounds like it should be easy, but it's a bit more tricky than just setting the
CheckBox.HorizontalAlignment="Center" in your
CellDataTemplate (which is what I tried first) as you still end up with it left-aligned if you do that.
I stumbled upon this post by Ian Griffiths that explains how to do it. In a nutshell, the problem occurs because the
CheckBox control above is actually the child of a
ListViewItem container, whose default alignment is
Left (which does seem a bit nuts). So, as Ian points out, if you override the
ListView.ItemContainerStyle and set its
Stretch you can then
Stretch your child controls correctly.