2011-06-29 34 views
2

我需要能夠加載HTML頁面與Silverlight模塊呈現基於頁面訪問的內容。例如,如果打開頁面的請求來自Page1.html,則內容將顯示Content.1。我試圖去處理它,但需要更多的信息。任何幫助,高度讚賞:Silverlight深層鏈接不使用頁面和框架?

這裏是我的代碼: HTML:分配新PARAM:

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

回答

2

initParams參數的值本身預計名=值的分開的一系列以逗號對。

你param元素應該是這樣的: -

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

說了這麼多您的具體要求,你可以在在通過HtmlPage對象主機頁面的URL。

string path = HtmlPage.Document.DocumentUri.AbsolutePath; 

這可以節省您不必專門將頁面名稱複製到每個頁面的每個initParams中。

+0

非常感謝您的信息。我會嘗試。 – vladc77