silverlight 如何在瀏覽器的新頁面里打開一個xaml


這個問題搜了大半天,綜合各方觀點,還是把它給實現了,小有成就感

 

打開一個新的瀏覽器窗口,silverlight並不支持這種做法。打開一個新的瀏覽器窗口意味着打開另一個應用頁面。只需要獲得那個應用的url(如http://www.163.com),執行HtmlPage.Window.Navigate(new Uri(url));

所以我們就可以以此為突破點來做

但是我又不想把這個頁面單獨用一個項目來做,於是就想到了在app_startup里判斷url參數的方法來選擇頁面

好了,廢話少說上代碼

 private void Application_Startup(object sender, StartupEventArgs e)
        {
            IDictionary<string, string> queryString = HtmlPage.Document.QueryString;
            if (queryString == null || queryString.Count < 1 || !queryString.ContainsKey("page"))
            {
                this.RootVisual = new Login();
            }
            else
            {
                string pageValue = queryString["page"];
                switch (pageValue)
                {
                    case "pointdata":
                        {
                            this.RootVisual = new PointData();
                        }
                        break;

                    default:
                        {
                            throw new Exception("您所指定的起始頁面有錯誤");
                        }
                }
            }
}

在頁面跳轉的地方用

  HtmlPage.Window.Navigate(new Uri("http://localhost:52878/XXTestPage.aspx?page=pointdata", UriKind.RelativeOrAbsolute), "_blank");

ok,大功告成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM