Xaml 如何在不破坏垂直滚动的情况下向数据透视项添加多个控件?

Xaml 如何在不破坏垂直滚动的情况下向数据透视项添加多个控件?,xaml,windows-phone-7,layout,windows-phone-7.1,Xaml,Windows Phone 7,Layout,Windows Phone 7.1,我的Windows Phone Mango应用程序中有一个Pivot控件,其中一个Pivot项有一个列表框。当我只有一个列表框作为数据透视项的内容时,它可以完美地工作 <controls:PivotItem Header="Item1"> <ListBox x:Name="longListBox" ItemsSource="{Binding A

我的Windows Phone Mango应用程序中有一个Pivot控件,其中一个Pivot项有一个列表框。当我只有一个列表框作为数据透视项的内容时,它可以完美地工作

           <controls:PivotItem Header="Item1">
                <ListBox
                    x:Name="longListBox" 
                    ItemsSource="{Binding AllItems}" 
                    Margin="12, 0, 12, 0" Width="440" 
                    ItemTemplate="{StaticResource ItemTemplate}" />
            </controls:PivotItem>

现在,我想在数据透视项的列表上方添加更多控件,例如图像

           <controls:PivotItem Header="Item1">
                <StackPanel>
                    <Image 
                         Source="/Images/header.png"
                         Height="48"
                         Width="48"/>

                    <ListBox
                        x:Name="longListBox" 
                        ItemsSource="{Binding AllItems}" 
                        Margin="12, 0, 12, 0" Width="440" 
                        ItemTemplate="{StaticResource ItemTemplate}" />

                </StackPanel>
            </controls:PivotItem>

然而,随着这些变化,PivotItem垂直滚动的工作原理非常奇怪,它将listbox项向下移动而不是向上移动。本质上,列表框底部的项目是不可访问的

我曾尝试将StackPanel高度设置为一个很大的数字,尝试添加ScrollViewer,但无法使其工作


如何解决滚动问题?

StackPanel
为其子项提供他们要求的任何高度/宽度,这使得内部的
列表框
计算错误其实际高度,然后其
滚动查看器
将无法正常工作

尝试将
StackPanel
更改为具有两行的
Grid
,它应该可以工作

            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition/>
                </Grid.RowDefinitions>