Silverlight глубокие ссылки, не используя страницы и рамки? - PullRequest
2 голосов
/ 29 июня 2011

Мне нужно иметь возможность загружать html-страницу с помощью модуля Silverlight, представляющего содержимое на основе страницы, к которой был получен доступ. Например, если запрос на открытие страницы поступил из Page1.html, то контент покажет Content.1. Я пытался работать над этим, но мне нужно больше информации. Любая помощь высоко ценится:

Вот мой код: HTML: назначен новый параметр:

<param name="inputParams" value="Page1.html" /> 

Это может быть другая строка URL.

Код Silverlight в App.xaml.cs

private void Application_Startup(object sender, StartupEventArgs e)
    {
        this.RootVisual = new MainPage();
        if (e.InitParams != null)
        {
            string ValueParam = e.InitParams["value"];
        }
    }

MainPage.xaml.cs

public MainPage() 
    { 
        InitializeComponent(); 

        this.Loaded += new RoutedEventHandler(MainPage_Loaded);  

    } 

    void MainPage_Loaded(object sender, RoutedEventArgs e) 
    { 
        if (ValueParam = ?) 
        { 
            contentIndex =1; 
        } 
    } 

1 Ответ

2 голосов
/ 29 июня 2011

Ожидается, что значение параметра initParams само по себе будет последовательной запятой, разделенной парами имя = значение.

Ваш элемент param должен выглядеть так: -

 <param name="inputParams" value="value=Page1.html" />

Сказав, что ваше конкретное требование вы можете получить по адресу хост-страницы через объект HtmlPage.

 string path = HtmlPage.Document.DocumentUri.AbsolutePath;

Это может избавить вас от необходимости специально копировать имя страницы в каждый initParams для каждой страницы.

...