为什么我的stackpanel在其方向设置为水平时垂直定位其控件?

时间:2016-04-02 14:17:32

标签: c# wpf xaml

我有一个Observable自定义用户控件集合

ObservableCollection<TaskButton> TaskBarButtonList = new ObservableCollection<TaskButton>();

我绑定到xaml中的Stackpanel:

<StackPanel Grid.Row="3" Grid.ColumnSpan="2" Orientation="Horizontal">
    <ItemsControl ItemsSource="{Binding TaskBarButtonList}"/>
</StackPanel>

然而,“任务按钮”的实际方向可以正常工作。在堆栈面板中似乎是垂直的。任何人都可以帮我解释原因吗?

1 个答案:

答案 0 :(得分:2)

StackPanel 在这里水平,你可以测试它在ItemsControl之后或之前添加另一个元素。

ItemsControl有自己的项目面板,您需要更改它

<ItemsControl ItemsSource="{Binding TaskBarButtonList}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>
相关问题