установить стартовую страницу Silverlight - PullRequest
11 голосов
/ 08 ноября 2010

Как настроить стартовую страницу в Silverlight?Не уверен, что я прибегаю к помощи неправильной терминологии или просто нигде не упоминается.

1 Ответ

12 голосов
/ 08 ноября 2010

Термин «стартовая страница» несколько двусмыслен.Внутри приложения Silverlight вы, вероятно, имеете в виду одну из нескольких вещей.

Начальный UserControl для загрузки как RootVisual

В app.xaml.cs вы найдете код, подобный: -

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        this.RootVisual = new MainPage();
    }

Где MainPage - это пользовательский элемент управления, который является исходным корневым визуалом.Вы можете изменить это по своему усмотрению.

Возможно, хотя вы хотите установить RootVisual на один из нескольких возможных вариантов.В этом случае вам нужно будет использовать InitParams.Что-то вроде: -

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        Type t = Type.GetType("SilverlightApplication1." + e.InitParams["StartupPage"]);

        this.RootVisual = Activator.CreateInstance(t);
    }

Затем вам нужно включить значение InitParams в тег <object> в HTML-коде хоста: -

 <object  ...>
   ...
   <param name="InitParams" value="StartupPage=Page1" />
 </object

Использовать каркас навигации

При создании навигационного приложения потребуется другой подход.В этом случае MainPage будет содержать Frame со свойством Source, которое будет содержать начальный URL для сопоставления.

В этом приложении типа вы можете указать альтернативные страницы для загрузки, просто добавив путьпосле # в URL страницы.

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