2011-07-20 3 views
1

Учитывая PhoneApplicationPage подтип, есть ли способ (кроме полагаться на соглашение), чтобы выяснить его внутренний uri?Страница WinPhone Uri от Тип?

Другими словами, я хочу позвонить GetUri<MyPage>() и получить обратно что-то вроде /Views/MyPage.xaml.

+0

Конечно, если у вас более 1 страницы каждого типа, то эта схема не будет работать, если вы не получите коллекцию страниц назад. Делает ли UriMapper то, что вам нужно - [см. Ссылку здесь] (http://www.silverlightshow.net/items/The-Silverlight-3-Navigation-Framework.aspx)? –

+0

Как один тип страницы имеет более одного uri (игнорируя строку запроса)? – ehnmark

+0

Хорошая точка ... Слишком много смотрят на рамки фреймворка и объекты. –

ответ

1

Невозможно сделать это. Нет метаданных, которые указывают на имя файла XAML для типа. Имя файла по существу является ключом, с помощью которого среда выполнения идентифицирует BAML для загрузки, и именно из этой BAML, что он знает тип. Переход в другое направление будет очень сложным.

Недостаточно чтения потоков ресурсов BAML и определения самого отображения (что нелегко сделать в Silverlight и будет убивать производительность, даже если это возможно). Я не вижу способа сделать это.

+0

Я считаю, что вы правы, но на всякий случай оставите вопрос открытым. – ehnmark

0

Будет ли возможность сделать что-то похожее на это:

C# Silverlight 3 - Programmatically Navigate Between Pages?

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

+0

UriMapper все еще требует от меня рассказать Silverlight, что такое uri для каждой страницы. Я надеюсь, что смогу ссылаться на мои страницы по типу только при навигации, чтобы я мог перемещать вещи без необходимости обновлять сопоставления. – ehnmark

+0

Действительно, но, как и мое текущее решение, вы указываете его только в одном месте. –

+0

Да, это в значительной степени то, что я тоже сделал. Определенно шаг вверх от магических строк uri повсюду, но я не могу не думать о том, что должен быть способ отразить и открыть ури ... – ehnmark

Смежные вопросы