[英]WrapPanel not wrapping when using it with ItemControl
我有一个 WrapPanel,我正在用 UserControls 填充我的 ViewModel:
<WrapPanel Width="250" Orientation="Horizontal" Margin="3">
<ItemsControl ItemsSource="{Binding PlaceableObjectsContent}">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:PlaceableObjectViewModel}">
<local:PlaceableObjectUserControl>
<local:PlaceableObjectUserControl.InputBindings>
<MouseBinding MouseAction="LeftClick"
Command="{Binding DataContext.OnPlaceableObjectClicked, RelativeSource={RelativeSource AncestorType=ItemsControl}}"
CommandParameter="{Binding}"/>
</local:PlaceableObjectUserControl.InputBindings>
</local:PlaceableObjectUserControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</WrapPanel>
当我用随机控件填充它们时,一切正常! 我已经阅读了一些关于由于使用 ItemTemplate 的问题!? 如果是真的,我该如何管理?
谢谢
您将单个 ItemsControl 放在 WrapPanel 中。 那不会有任何作用。 如果您希望 ItemsControl 使用 WrapPanel 来托管其自己的项目,请执行以下操作:
<ItemsControl
ItemsSource="{Binding PlaceableObjectsContent}"
Width="250"
Margin="3"
>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<!-- etc. -->
请注意,必须限制 ItemsControl 的宽度才能使其工作:它必须受其父级或网格列的大小限制,或者甚至通过直接设置 ItemsControl 元素本身的 Width 或 MaxWidth 属性或通过样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.