Мне надоело набирать this.NavigationService.Navigate(new Uri(page.xaml, UriKind.Relative));
, каждый раз, когда мне нужно перейти на другую страницу в моем приложении.
Итак, я создал пользовательский BasePage
с виртуальным, чтобы помочь с навигацией по моему приложению.
У меня проблема в VS2010, если у меня открыты исходное и дизайнерское представление, дизайн просто показывает фон телефона Windows, и я получаю некоторые синие волнистые линии прямо сверху донизу моего xaml, и сообщения вдоль линий x не поддерживаются.Это происходит на любой странице, которую я настроил для Inherit с моего пользовательского BasePage.
Однако, если я запусту приложение на моем Windows Phone или в Emmulator, оно будет работать.
Кто-нибудьесть какие-либо предложения о том, что я мог бы попытаться сделать так, чтобы мое представление «Дизайн» работало во время применения моей пользовательской базы, или если я что-то пропустил?
Слегка урезанная версия моей базовой страницы:
public class BasePage : PhoneApplicationPage
{
public virtual void NavigateTo(string pageName, params Tuple<string,string>[] queryString)
{
// Code to perform this.NavigationService.Navigate
}
}
РЕДАКТИРОВАТЬ 2011-08-16
Часть этой базовой страницы переопределяет метод PhoneApplicationPage
OnNavigatedTo
, в котором я выполняю проверку безопасности, чтобы убедиться, что:
- защита включена
- Пользователь вошел в систему
Если защита включена, но пользователь не вошел в систему, они сразу же перенаправляются наСтраница входа в систему.
Я нашел это полезным, поскольку мне не нужно добавлять какой-либо код к существующим или новым страницам, чтобы справиться с этим, если они получены из BasePage
.