如何在Panorama.ItemTemplate中进行PanoramaItem的水平方向?

时间:2012-05-12 13:25:22

标签: c# silverlight windows-phone-7 silverlight-4.0 silverlight-3.0

在我的Windows Phone应用程序中,我有:

 <controls:Panorama.ItemTemplate>
                <DataTemplate>
                    <Grid Visibility="{Binding ItemVisibility}" Margin="0,-60,0,0">
                        <ScrollViewer Margin="0,0,0,0"  VerticalAlignment="Top" Height="Auto">
                            <StackPanel Margin="0,0,0,0" Width="Auto"  >
                                <RichTextBox x:Name="Browser"  IsReadOnly="True" Foreground="Black" Height="Auto" cxi:WebBrowserHelper.Html="{Binding BrowserHtml}"  HorizontalAlignment="Left"   Width="460" Margin="0,0,0,0" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" />
                                <Canvas Height="100" Width="0" />
                            </StackPanel>
                        </ScrollViewer>
                    </Grid>
                </DataTemplate>
            </controls:Panorama.ItemTemplate>

如何设置PanoramaItem的方向 - Orientation =“Horizo​​ntal”?

我试过了:

<controls:Panorama.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" />
                </ItemsPanelTemplate>
        </controls:Panorama.ItemsPanel>

但是有NullReference Exeption

1 个答案:

答案 0 :(得分:0)

首先,这听起来有点奇怪。全景控件内部的项目宽度不应太大,也不应该在那里进行水平滚动,因为它可能破坏用户体验(用户是否会滚动PanoramaItem内部的内容或者本身切换到另一个PanoramaItem)

您可以只修改PanoramaItem内容中的StackPanel,而不是修改ItemsPanel模板。这样的事情:

<StackPanel Margin="0,0,0,0" Width="Auto" Orientation="Horizontal"  > 
                                    <RichTextBox x:Name="Browser"  IsReadOnly="True" Foreground="Black" Height="Auto" cxi:WebBrowserHelper.Html="{Binding BrowserHtml}"  HorizontalAlignment="Left"   Width="460" Margin="0,0,0,0" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" /> 
                                    <Canvas Height="100" Width="0" />
</StackPanel>