2

我需要能够加载带有 Silverlight 模块的 html 页面,该模块显示基于页面被访问的内容。例如,如果打开页面的请求来自 Page1.html,则内容将显示 Content.1。我试图研究它,但需要更多信息。非常感谢任何帮助:

这是我的代码: HTML:分配的新参数:

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

它可以是不同的 url 字符串。

App.xaml.cs 中的 Silverlight 代码

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; 
        } 
    } 
4

1 回答 1

2

参数的值initParams本身应该是一系列逗号分隔的名称=值对。

您的 param 元素应如下所示:-

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

话虽如此,您可以通过HtmlPage对象访问主机页面的 URL。

 string path = HtmlPage.Document.DocumentUri.AbsolutePath;

这可以让您不必专门将页面名称复制到每个页面的每个 initParams 中。

于 2011-06-29T07:06:14.550 回答