Windows phone 7 如何以编程方式切换到其他全景项目?

Windows phone 7 如何以编程方式切换到其他全景项目?,windows-phone-7,gestures,panorama-control,Windows Phone 7,Gestures,Panorama Control,注意:我已经看到了,但它没有回答问题 我有一个应用程序的首次运行体验,它向用户展示了几个不同的选项,解释了应用程序的功能。如果他们选择其中一个选项,我想向他们展示处理该特定功能的panoramiitem。正好是第3项 因此,Panorama.SelectedItem是只读的。还有别的办法吗?如果不是,我可以通过模拟一些手势输入来伪装它吗?如何做到这一点?由于SelectedItem和SelectedIndex当前处于private set规则下,因此您确实无法通过应用程序修改它们。但是,您可以更

注意:我已经看到了,但它没有回答问题

我有一个应用程序的首次运行体验,它向用户展示了几个不同的选项,解释了应用程序的功能。如果他们选择其中一个选项,我想向他们展示处理该特定功能的
panoramiitem
。正好是第3项


因此,
Panorama.SelectedItem
是只读的。还有别的办法吗?如果不是,我可以通过模拟一些手势输入来伪装它吗?如何做到这一点?

由于
SelectedItem
SelectedIndex
当前处于
private set
规则下,因此您确实无法通过应用程序修改它们。但是,您可以更改
DefaultItem
属性:

<PANORAMA_CONTROL>.DefaultItem = <PANORAMA_CONTROL>.Items[1];
.DefaultItem=.Items[1];

这将导致项目重新排列,因为您正在将项目设置为列表中的第一个项目,但除此之外,这是一种可以接受的方式,因为它实际上会将项目带到用户面前。

您可以更改DefaultItem

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        string selected = String.Empty;

        //check to see if the selected parameter was passed.
        if (NavigationContext.QueryString.ContainsKey("selected"))
        {
            //get the selected parameter off the query string from MainPage.
            selected = NavigationContext.QueryString["selected"];
        }

        //did the querystring indicate we should go to item2 instead of item1?
        if (selected == "item2")
        {
            //item2 is the second item, but 0 indexed. 
            myPanorama.DefaultItem = myPanorama.Items[1];
        }
        base.OnNavigatedTo(e);
    }
这里有一个我为不同目的制作的示例,但它有这个功能