Xaml 意外行为项控件模板/ItemTemplate
我想并排展示一个摘要列表,因此我创建了一个小ItemsControl来实现这一目标:Xaml 意外行为项控件模板/ItemTemplate,xaml,itemscontrol,stackpanel,itemtemplate,Xaml,Itemscontrol,Stackpanel,Itemtemplate,我想并排展示一个摘要列表,因此我创建了一个小ItemsControl来实现这一目标: <ItemsControl x:Name="GRS"> <ItemsControl.Template> <ControlTemplate> <StackPanel Orientation="Horizontal" Margin="10"> <
<ItemsControl x:Name="GRS">
<ItemsControl.Template>
<ControlTemplate>
<StackPanel Orientation="Horizontal" Margin="10">
<StackPanel Orientation="Vertical">
<TextBlock Text="Round" FontSize="20" />
<TextBlock Text="Food" FontSize="20" />
<TextBlock Text="Harvest" FontSize="20" />
<TextBlock Text="State" FontSize="20" />
<TextBlock Text="Private" FontSize="20" />
<TextBlock Text="Value" FontSize="20" />
<TextBlock Text="Type" FontSize="20" />
</StackPanel>
<ItemsPresenter />
</StackPanel>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Margin="10" BorderBrush="Black" BorderThickness="2">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Path=RoundNumber}" FontSize="20" />
<TextBlock Text="{Binding Path=PlayerAndModusSetting.FoodCost}" FontSize="20" />
<CheckBox IsChecked="{Binding Path=IsHarvest}" FontSize="20" />
<TextBlock Text="{Binding Path=PlayerAndModusSetting.StateBuildProject}" FontSize="20" />
<TextBlock Text="{Binding Path=PlayerAndModusSetting.PrivateBuildProject}" FontSize="20" />
<TextBlock Text="{Binding Path=Value}" FontSize="20" />
<TextBlock Text="{Binding Path=ShipType}" FontSize="20" />
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
当我设置ItemsSource&run时,结果是列表的方向是垂直的,而不是水平的
正如你所看到的,第一个是并排的,但在那之后,它继续向下,我不知道为什么
谢谢。项目模板的父控件是一个
StackPanel
-每个项目都是一个StackPanel
,包含在StackPanel
中-如果要水平平铺,需要将ItemsPresenter
周围的容器更改为WrapPanel
例如:
</StackPanel>
<WrapPanel>
<ItemsPresenter />
</WrapPanel>
</StackPanel>
这是不正确的。实现了相同的行为(只是对其进行了测试)。此外,stackpanel的方向被设置为水平,这意味着它应该水平展开,而不是垂直展开(这适用于ItemTemplate中的整个内容)。