Silverlight перенаправление между страницами проекта - PullRequest
0 голосов
/ 14 марта 2012

У меня проблема в том, что я не могу перенаправить свою страницу в silverlight, как и большинство людей, которые не знакомы с этой технологией.

Сначала я создаю страницу входа, и если пароль правильный, я хочу егонаправить в MainPage.xaml

, как вы можете видеть, я пробовал методы, которые прокомментированы уже, это не сработало.Я искал на этой веб-странице, что есть некоторые сообщения об этой проблеме, но я не мог решить, пожалуйста, помогите мне.

, когда я попробую это;

Uri target = new Uri("MainPage",UriKind.Relative);
NavigationService.Navigate(target);

сообщение об ошибке: Object reference not set to an instance of an object.

на самом деле мы нашли решение с моим другом;

вместо направления веб-страницы, когда код переходит в блок if, мы меняем содержимое страницы с помощью {this.Content = new MainPage ();} и он работает. Но System.Windows.Browser.HtmlPage.Window.Navigate (target) этот направляет нас на одну и ту же страницу входа или страницы, как www.---.com, за пределы обычных html-страниц.

1 Ответ

0 голосов
/ 14 марта 2012

Обычно вам нужно использовать NavigationService, чтобы сделать это:

NavigationService.Navigate(new Uri("/MainPage", UriKind.Relative));

NavigationService - это свойство объекта Page, поэтому оно будет доступно в коде входа в систему.

Однако, после того, как вы упомянули, что вы «уже сделали это», я понял проблему. Silverlight Navigation использует элемент управления Frame. Этот элемент управления Frame находится в MainPage.xaml для проекта по умолчанию. Таким образом, вы не перемещаетесь внутри фрейма, но хотите изменить весь экран на другой и сделать это без служб навигации, встроенных в Silverlight.

Я бы посоветовал вам (а) запустить Логин как страницу внутри фрейма на главной странице (вы можете загружать или выгружать ссылки вверху в зависимости от того, аутентифицирован ли пользователь) или (б) не ' t используйте Навигацию для оставшейся части приложения и используйте структуру, подобную Caliburn.Micro, для обработки всей Навигации между представлениями.

...