Как программно переключиться на другой PanoramaItem?

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

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

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


person i_am_jorf    schedule 06.03.2011    source источник


Ответы (2)


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

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

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

person Den Delimarsky    schedule 06.03.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

person William Melani    schedule 06.03.2011