Откройте портретную страницу из списка сводных страниц с текстом «LineThree» - PullRequest
0 голосов
/ 12 апреля 2011

Как гласит заголовок ... Если я начну свой проект приложения со сводной страницы (MainPage.xaml), а затем выберу, например, ссылку "design two" в списке с данными.Можно ли привязать текст "LineThree" для ссылки "design two" к отдельной портретной странице?

Нужно ли создавать новую портретную страницу для каждой ссылки "LineThree"?Или я могу просто сгенерировать данные «MainViewModelSampleData.xaml» для одной страницы портрета в зависимости от того, какую ссылку «LineOne» я нажимаю на сводной странице в начале?

Надеюсь, мой вопрос понятен ...P

Ответы [ 2 ]

0 голосов
/ 12 апреля 2011

Если я вас правильно понимаю, вам нужна главная страница со списком данных, а затем страница с подробностями, содержимое которой зависит от элемента, который вы щелкнули на главной странице.Тогда ответ на ваш вопрос - «да».Есть несколько способов достичь этого, некоторые из которых включают глобальные переменные, пользовательский сервис навигации, сохранение значения в изолированном хранилище и так далее.Мое личное предпочтение состоит в том, чтобы использовать контекст NavigationService и передавать идентификатор или индекс в строке запроса для целевой страницы.

Ваш вызов для перехода на страницу сведений затем выглядит следующим образом:

Application.Current.Navigate(string.Format("/Views/DetailsView.xaml?id={0}", id));

На целевой странице вы переопределяете обработчик OnNavigatedTo, чтобы получить переданное вами значение и затем обработать его соответствующим образом (то есть поискать значение в вашей базе данных или извлечь его из коллекции данных).

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (this.NavigationContext.QueryString.ContainsKey("id"))
    {
        var id = this.NavigationContext.QueryString["id"];
        // TODO: Do what you need to with the ID.
    }
    else
    {
        // I use this condition to handle creating new items.
    }
}
0 голосов
/ 12 апреля 2011

Чем то, что вы пытаетесь сделать, отличается от того, что создается по умолчанию в новом приложении DataBound?Это позволяет вам выбрать элемент в списке на главной странице, а затем отобразить другую страницу, которая содержит текст из LineThree.

Я предлагаю вам взглянуть на пример кода, созданного как часть нового приложения DataBound.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...