1

我有以下问题。我正在使用项目控件,但我不明白为什么我的结果是在多行而不是在单行上。这是我的代码:

<StackPanel Orientation="Horizontal" Margin="10,10,10,10">
    <ItemsControl ItemsSource="{Binding Countries}" >
        <ItemsControl.ItemTemplate>
            <DataTemplate x:Name="TabCountries" >
                <StackPanel Orientation="Horizontal">
                    <TextBlock Name="Country" Text="{Binding nom}" Style="{StaticResource whiteFontColor}" VerticalAlignment="Center" Margin="0,0,5,0"/>
                    <CheckBox Margin="0,0,5,0" Name="isCountryAllowed" IsChecked="{Binding isAllowed}" />
                </StackPanel>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</StackPanel>

结果是这样的:

FR
BE
AN

而不是这样:

FR BE AN ...

有任何想法吗 ?

4

1 回答 1

6

您没有更改项目的布局,仅更改了ItemsControl整体的布局(如果同一 中没有其他元素,则几乎什么都不做StackPanel)。

用于ItemsControl.ItemsPanel使项目水平布局。

<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
于 2012-08-28T16:22:46.907 回答