【发布时间】:2014-04-20 17:20:12
【问题描述】:
我有一个布局,其中有四个复选框,如果它们适合,我想以水平排列显示它们,如果它们不将它们包装到另一行。
我在 ListView 中使用 WrapGrid,如下所示:
<ListView Width="Auto">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="4"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<CheckBox IsChecked="True" Content="Short text"/>
<CheckBox IsChecked="True" Content="Longer text (with explanation)" />
<CheckBox Content="Some other longer stuff" />
<CheckBox Content="ABCDEDFGHIJKLMNOPQRSTUVWXYZ"/>
</ListView>
它几乎表现得像它应该的那样,但由于某种原因,它从我的复选框中剪切文本,将它们设置为与第一个具有相同的宽度(在我的示例中为Short text)。我可以通过首先使用最长文本的复选框来解决这个问题,但我真的很想让 ListView 自己找出最宽项目的宽度。这可能吗?
【问题讨论】:
-
我猜
WrapGrid不可能,因为它总是选择第一个项目大小。你可以阅读更多关于它的信息here。 -
把它变成一个答案,我会接受它。
-
转换为答案。
标签: wpf xaml checkbox windows-store-apps