У меня есть этот случай
<WrapPanel>
<CheckBox>Really long name</CheckBox>
<CheckBox>Short</CheckBox>
<CheckBox>Longer again</CheckBox>
<CheckBox>Foo</CheckBox>
<Slider MinWidth="200" />
</WrapPanel>
Я хочу, чтобы все флажки внутри WrapPanel были одинаковой ширины.
Добавление следующего почти достигает желаемого эффекта
<WrapPanel.Resources>
<Style TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}">
<Setter Property="MinWidth" Value="75" />
</Style>
</WrapPanel.Resources>
Однако я не хочу жестко задавать конкретную ширину, а позволить самому большому CheckBox задавать ширину (вышеприведенное также не работает, если есть ширина> 75).
Ползунок независим и должен быть больше, чем CheckBoxes.
Я не хочу использовать Grid (с IsSharedSizeScope), поскольку мне не нужно жестко закодированное количество столбцов.
В этой статье представлено интересное решение, но было бы неплохо решить проблему без создания пользовательского элемента управления или использования кода C #.
Каков наилучший способ сделать это, предпочтительно только в XAML?