Установить стартовую страницу silverlight

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

Приветствия

Ответ 1

Термин "Стартовая страница" несколько неоднозначен. В приложении 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 proeperty, который будет содержать исходный URL-адрес для сопоставления.

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