2011-06-29 8 views
2

私はページからのアクセスに基づいてコンテンツを提示するSilverlightモジュールでhtmlページを読み込むことができる必要があります。たとえば、ページを開く要求がPage1.htmlから来た場合、コンテンツはContent.1を表示します。私はそれに取り組もうとしましたが、より多くの情報が必要です。すべてのヘルプは高く評価されています。ここではページとフレームを使用しないSilverlightディープリンク?

は私のコードです: HTML:割り当てられた新しいPARAM:

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

それは別のURLの文字列を指定できます。

シルバーコード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" /> 

を使用すると、ホスト・ページのURLでHtmlPageオブジェクトを経由してすることができ、あなたの特定の要件と述べました。

string path = HtmlPage.Document.DocumentUri.AbsolutePath; 

これにより、各ページの各initParamsにページ名を具体的にコピーする必要がなくなります。

+0

ありがとうございました。私はそれを試みます。 – vladc77

関連する問題