UWP Navigate создает исключение AccessViolationException для страниц без xaml - PullRequest
0 голосов
/ 17 сентября 2018

Это только у меня, или невозможно перейти на страницу, у которой нет заголовка .xaml?

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

Когда я звоню Frame.Navigate(typeof(CodePage)), я получаю хороший AccessViolationException.

Моя страница проста, как и навигация. Это код с новым чистым проектом

Навигация (нажатие кнопки):

Frame rootFrame = Window.Current.Content as Frame;
rootFrame.Navigate(typeof(CodePage));

Страница:

public class CodePage : Page
{
    public CodePage()
    {
        Content = new TextBlock
        {
            Text = "It works!",
        };
    }

Я знаю об этой проблеме: Перейдите на страницу другой библиотеки классов , но это потому, что ВСЕ страницы находятся в библиотеке, у меня только одна конкретная страница в моей библиотеке. Кроме того, у меня есть другие страницы в приложении "Launcher".

1 Ответ

0 голосов
/ 17 сентября 2018

Навигация работает только со страницами, которые имеют часть xaml, потому что, когда страница делает InitializeComponent в своем конструкторе, она устанавливает страницу для маршрутов навигации, NavigationCache и т. Д.

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