I would like to create a multi-column list of checkboxes, but here’s the catch – as I resize the window I would like everything to scale accordingly, including text size. I’ve been trying to make use of a WrapPanel and ViewBox but can’t get the XAML right. Are these controls the best option or should I be using a ListBox (note I don’t need selection functionality or scrollbars)? Any suggestions or examples on how I could achieve this would be much appreciated. I’m using MVVM and the list will be data bound, if that makes a difference.
BTW since starting WPF I’ve been struggling to understand which controls size to their children and which size to their parent. Are there any good sites, cheat sheets, or whatever summarising the behaviour of each control?
If you have a variable number of child elements, you could put a UniformGrid into a ViewBox.
If the child elements have to be visualized by a DataTemplate, you would have to use an ItemsControl with the
ItemsPanelproperty set to such a UniformGrid: