我有以下问题。 我正在使用Items控件,我不明白为什么我的结果是在几行而不是在一行上。 这是我的代码:
<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 ...
有什么想法吗?
答案 0 :(得分:6)
您没有更改项目的布局,只更改了ItemsControl
的整体布局(如果同一StackPanel
中没有其他元素,则几乎没有任何内容。)
使用ItemsControl.ItemsPanel
水平制作项目布局。
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>