如何将itemsControl项目内容从拉伸到最宽项目的宽度

时间:2014-01-28 02:40:18

标签: wpf xaml

有没有办法让itemsControl项目内容(在这种情况下是边框)不拉伸以适应最宽项目的宽度?

见这里:

enter image description here

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>

1 个答案:

答案 0 :(得分:2)

好吧,因为我觉得我在假设你所追求的是正确的,当然我是一个贪婪的积分,你走了;

StackPanel的子元素将填充由其包含的最大对象设置的可用空间,除非您告诉他们不要显式或已经设置了相同的模板。

因此HorizontalAlignment="Left"的最外层容器上的ItemTemplate(在这种情况下为Border)会告诉它拥抱侧面而不是伸展以适应可用空间消耗。

不那么讨厌的罗嗦版本:告诉bugger只需占用它所需要的空间。 :)

希望它有所帮助。