我有这个案例
<WrapPanel>
<CheckBox>Really long name</CheckBox>
<CheckBox>Short</CheckBox>
<CheckBox>Longer again</CheckBox>
<CheckBox>Foo</CheckBox>
<Slider MinWidth="200" />
</WrapPanel>
我希望WrapPanel中的所有CheckBox具有相同的宽度。
添加以下内容几乎可以实现所需效果。
<WrapPanel.Resources>
<Style TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}">
<Setter Property="MinWidth" Value="75" />
</Style>
</WrapPanel.Resources>
然而,我不想硬编码一个特定的宽度,而是让最大的复选框设置宽度(如果任何宽度>75,则上述方法也会失败)。
滑块是独立的,应该允许比复选框更大。
我不想使用网格(具有IsSharedSizeScope),因为我不想硬编码列数。
这篇文章提出了一个有趣的解决方案,但最好能够在不创建自定义控件或使用C#代码的情况下解决问题。
最佳方法是什么,最好只使用XAML?