#c# #silverlight #silverlight-4.0
#c# #silverlight #silverlight-4.0
Вопрос:
Я использую Navigation Framework и в основном получил один фрейм, который используется для навигации. Я попытался поиграть с mainFrame.JournalOwnership
, потому что подумал, что, возможно, изменение этого может быть связано с этим, но ничего не меняется.
Поскольку структура классов, связанных с навигацией, довольно мала, я немного озадачен тем, что я делаю не так, потому что я не могу придумать ничего другого, что я мог бы изменить, чтобы заставить навигацию работать.
Я не использую шаблон навигации, я использую его в свободном стиле, как в этом видеоурокеhttp://www.silverlight.net/learn/videos/all/navigation-framework / если кому-то может быть интересно.
Заранее спасибо. Действительно борюсь с этим. Пожалуйста, помогите
Я попытался воспроизвести ошибку в другом решении, используя только мою страницу мэйнфрейма и вызывая simple navigatate для пустой тестовой страницы, и это сработало нормально, поэтому теперь у меня появились новые вопросы.
Может быть, есть способ, которым моя HTML-страница SL отключает хэш-теги, устанавливаемые navigation framework?
РЕДАКТИРОВАТЬ: я тестировал размещение моего рабочего тестового XAP на моей html-странице вместо всего моего приложения, которое не работает, и оно не обновило хэштеги на этой странице. Итак, теперь ясно, что что-то не так с HTML-страницей, что это может быть?
Комментарии:
1. Я пробовал как IE, так и Chrome, тот же результат
Ответ №1:
Сам процесс настройки JournalOwnership = владение журналом.OwnsJournal сообщает SL, что история навигации сохраняется в другом месте. Другими словами, незначительные изменения URL, которые используются для отслеживания истории, больше не используются. Помните, что навигация по фрейму в навигационном приложении SL не перемещается со страницы, но она обновляет закладку URI # для поддержания состояния во многом так, как AJAX поддерживает историю. Если ваше приложение SL действительно «покинуло страницу / URI», тогда вашему приложению пришлось бы полностью перезагрузиться. Он работает так, как предписано, независимо от того, используете ли вы шаблон навигации или сейчас. Изменение «фреймов» буквально просто загружает тип UserControl и помещает содержимое в область существующего элемента управления SL.
Комментарии:
1. Он не обновляет хэштеги, я говорю «без изменений», и я имею в виду, что адрес остается прежним, # вообще не отображается, просто страница index.aspx, на которой размещен silverlight (примерное название). Я понимаю, что изменение фреймов загружает элементы управления в другие элементы управления, однако помимо этого оно должно обновлять хэштеги адресной строки, а этого не происходит. Итак, вопрос в том, как это сделать? Где искать?
2. Я никогда не говорил, что это обновит хэш-теги. Не уверен, что вы не понимаете, что я сказал выше. Установка OwnsJournal означает, что хэштег не изменяется. Это то, что вы указали с помощью этого параметра. Отключите ее или не устанавливайте.
3. ну, поскольку ничто не обновляет хэштеги, возможно, я не понимаю, как именно должен работать OwnsJournal, но он не обновляет хэштеги с набором OwnJournal или без него.
4. хорошо, я думаю, вы правы, и он должен работать и обновлять хэштеги в автоматическом режиме по умолчанию, но это не так
Ответ №2:
Наконец-то обнаружил проблему. Оказывается, ключевым моментом здесь был iframe, используемый silverlight для использования этой операции, после того, как я добавил следующий код на свою страницу aspx, он начал работать как по волшебству.
<iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
как указано здесь:http://msdn.microsoft.com/en-us/library/cc838245 (ПРОТИВ.95).aspx