有没有办法让itemsControl项目内容(在这种情况下是边框)不拉伸以适应最宽项目的宽度?
见这里:
CURLIN是最广泛的项目。 RAGAIN和WALKUP较短,但伸展到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>
答案 0 :(得分:2)
好吧,因为我觉得我在假设你所追求的是正确的,当然我是一个贪婪的积分,你走了;
StackPanel
的子元素将填充由其包含的最大对象设置的可用空间,除非您告诉他们不要显式或已经设置了相同的模板。
因此HorizontalAlignment="Left"
的最外层容器上的ItemTemplate
(在这种情况下为Border
)会告诉它拥抱侧面而不是伸展以适应可用空间消耗。
不那么讨厌的罗嗦版本:告诉bugger只需占用它所需要的空间。 :)
希望它有所帮助。