Как вы переходите на новую страницу в приложении метро? - PullRequest
5 голосов
/ 26 октября 2011

пытается написать приложение для метро на C # прямо сейчас. При попытке перейти на новую страницу возникла проблема.

<HyperLinkButton NavigateUri="foo.xaml"/> 

не работает, так как поле NavigateUri не существует. Пространство имен Windows.Navigate также недоступно, так что не повезло. Как правильно перейти на новую страницу в моем приложении в метро?

Ответы [ 4 ]

6 голосов
/ 31 октября 2011

Вы можете обработать событие Click элемента управления Button (фактически вы можете использовать все события со следующим кодом), поскольку кнопка Metro HyperLink наследует только класс ButtonBase без каких-либо специальных свойств или событий, таких как NavigateUri.

Если вы хотите перейти на другую страницу в приложении метро, ​​добавьте рамку на страницу .xaml и вставьте этот код в обработчик событий кнопки:

this.Frame.Navigate("VideoStoryCreator.ComposePage");

5 голосов
/ 12 февраля 2012

Существует два способа перехода на другую страницу -

  • Путь к клиентскому приложению ->

Это будет реализовано в событии клика -

var page = new PageName();
Window.Current.Content = page;

  • аналогично навигации Silverlight

Если вы используете Навигацию по кадрам / страницам, вы можете сделать это следующим образом -

Создать страницу оболочки (главную страницу) с объявленным элементом. Тогда вместо создания новых страниц с созданием. Самый простой способ сделать это - заменить UserControl на Page

Это хорошо объяснено в этом уроке - http://www.markermetro.com/2011/11/technical/windows-8-metro-style-apps-implementing-navigation-with-xaml/

Надеюсь, это поможет!

С уважением, Bhavik

3 голосов
/ 26 октября 2011

Обработайте событие Click на кнопке, а затем вызовите метод Navigate для своего фрейма

0 голосов
/ 10 августа 2012

просто введите следующий код в вашем событии клика

this->Frame->Navigate(TargetPageName::typeid,this);
...