我的Windows Phone Mango应用程序中有一个Pivot控件,其中一个pivot项目有一个列表框。当我只有一个ListBox作为PivotItem的内容时,它完美地工作。
<controls:PivotItem Header="Item1">
<ListBox
x:Name="longListBox"
ItemsSource="{Binding AllItems}"
Margin="12, 0, 12, 0" Width="440"
ItemTemplate="{StaticResource ItemTemplate}" />
</controls:PivotItem>
现在我想在PivotItem的列表上方添加更多控件,比如说Image。
<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,但无法让它工作。
如何解决滚动问题?
答案 0 :(得分:2)
StackPanel
为其子项提供他们要求的任何高度/宽度,这会使内部ListBox
误算其实际高度,然后其ScrollViewer
将无法正常工作。
尝试将StackPanel
更改为Grid
两行,它应该有效。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>