有没有办法让 itemsControl 项目内容(在本例中为边框)不拉伸(stretch)以适应最宽项目的宽度?
看这里:
CURLIN 是最宽的项目。 RAGAIN 和 WALKUP 较短,但拉伸(stretch)到 CURLIN 的宽度,无论我尝试使用任何 itemsPanel 或 itemTemplate。这有帮助吗?
代码:
<ItemsControl ItemsSource="{Binding CarbonCopyRecipients}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" HorizontalAlignment="Left"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate >
<Border ...... />
</DataTemplate >
</ItemsControl.ItemTemplate>
</ItemsControl>
最佳答案
好吧,既然我想我对你所追求的东西的假设是正确的,当然我是个贪婪的人,现在开始吧;
您的 StackPanel
的子元素将填充由它包含的最大对象设置的可用空间,除非您告诉他们不要明确地或已经有一个模板集来做同样的事情。
因此 ItemTemplate
最外层容器上的 HorizontalAlignment="Left"
(在本例中为 Border
)将告诉它拥抱侧而不是拉伸(stretch)以适应它可能消耗的可用空间。
不那么乏味的冗长版本:告诉窃听器只占用它需要的空间。 :)
希望对您有所帮助。
关于wpf - 如何防止 itemsControl 项目内容拉伸(stretch)到最宽项目的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21395847/