Как программно переключиться на другой PanoramaItem? - PullRequest
2 голосов
/ 06 марта 2011

Примечание: я уже видел это , и он не отвечает на вопрос.

У меня есть приложение для первого запуска моего приложения, которое предоставляет пользователю несколько различных опций, объясняющих, что делает приложение. Если они выберут один из этих вариантов, я хочу показать им PanoramaItem, который имеет дело с этой конкретной функциональностью. Это, случается, пункт № 3.

Итак, Panorama.SelectedItem только для чтения. Есть ли другой способ сделать это? Если нет, то могу ли я имитировать, скажем, имитацию ввода жестов? Как можно это сделать?

Ответы [ 2 ]

2 голосов
/ 06 марта 2011

Поскольку SelectedItem и SelectedIndex в настоящее время подчиняются правилу private set, вы действительно не можете изменять их через приложение.Однако вы можете изменить свойство DefaultItem:

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

Это приведет к некоторому переупорядочению элементов, поскольку вы устанавливаете элемент первым в списке, но не такэто приемлемый способ сделать это, так как он фактически доставит элемент перед пользователем.

1 голос
/ 06 марта 2011

Вы можете изменить 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);
    }

Вот пример, который я сделал для другой цели, но он имеет эту функциональность.http://dl.dropbox.com/u/129101/Panorama_querystring.zip

...