我有一个ItemsControl
StackPanel
作为ItemsPanelTemplate
,内部显示的项目(Button
)不会换行到新行。我已尝试将HorizontalContentAlignment
属性添加到ItemsControl
并使用这些选项,但它没有帮助。我做错了什么?
<ItemsControl ItemsSource="{Binding RecipientsNames}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button x:Name="btnContact" Click="BtnContact_Click"
Width="Auto" Height="14" Padding="0" BorderThickness="0" Margin="0 0 6 0" HorizontalAlignment="Left" VerticalAlignment="Top">
<TextBlock Text="{Binding Path=Name}" FontSize="12" Margin="0 -2 0 -2"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
答案 0 :(得分:1)
你让你的面板混乱,
因为统一网格与WrapPanel不同,这不受项目大小的影响我通常会发现它会为包裹面板产生更具视觉吸引力的布局,但需要配置以充分利用可用空间