Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 意外行为项控件模板/ItemTemplate_Xaml_Itemscontrol_Stackpanel_Itemtemplate - Fatal编程技术网

Xaml 意外行为项控件模板/ItemTemplate

Xaml 意外行为项控件模板/ItemTemplate,xaml,itemscontrol,stackpanel,itemtemplate,Xaml,Itemscontrol,Stackpanel,Itemtemplate,我想并排展示一个摘要列表,因此我创建了一个小ItemsControl来实现这一目标: <ItemsControl x:Name="GRS"> <ItemsControl.Template> <ControlTemplate> <StackPanel Orientation="Horizontal" Margin="10"> <

我想并排展示一个摘要列表,因此我创建了一个小ItemsControl来实现这一目标:

    <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中的整个内容)。