日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
淺析Silverlight窗體跳轉的實現(xiàn)方案

本文將介紹的是Silverlight 3.0窗體跳轉的實現(xiàn),在基本原理上和ASP.NET類似。微軟在Silverlight上投入了大力氣,還是希望能從Adobe手中搶占一定的份額。

目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網站建設、域名、網站空間、網站運營、企業(yè)網站設計、鹽津網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

閱讀條件:本篇文章適合Silverlight的初學者閱讀,如果你不是初者請你放棄閱讀;不文不將對Silverlight的高級開發(fā)者提供認何幫助;

我們如何能把Silverlight利用像熟練呢?就像寫Web應用程序一樣呢?

其實這個問題也很簡單,只要在平時多關心Silverlight,了解Silverlight就可以了,如果你對它很陌生,那么它也對你一樣的陌生,這兩者是成正比的;

今天我就給大家講一下在Silverlight 3.0是關于Redirect頁面的跳轉,與ASP.NET頁面的跳轉一樣;

案例:現(xiàn)在有一個登陸窗口,如果用戶登陸成功以后成功頁面,沒有成功就到原始頁面;如果沒有登陸提示用戶去登陸;這樣一個需求在ASP.NET 很好解決,

但是在Siverlight API 文檔 中目前還沒有提供寫好的方法來解決這個問題;這個問題其實也不算很難,通過看Silverlight API 也可以找到解決方案;接下來

我就為大家提供兩種方案來解決Silverlight窗體跳轉這個問題吧;

Silverlight窗體跳轉解決方案一:

運行效果如下:

我們可以從App.cs文件中來解決;我們可以在App中定義一個全局的變量;

1.我們先在App中定義一個Grid控件;代碼如下所示:

Grid rootGrid = new Grid();2.當整個應用程序啟動運行時,讓它***個頁面Login頁面;在Application Startup事件中來處理解決,先看一下代碼:

 
 
 
 
  1. private void Application_Startup(object sender, StartupEventArgs e)  
  2.        {  
  3.            this.RootVisual = rootGrid;①  
  4.            this.rootGrid.Children.Add(new Login());②  
  5.        } 

這句代碼是什么意思呢?分析如下:

1.當整個應用程序啟動時,程序的主界面加載就是Grid;

2.Grid控件加載完成了,那么它的創(chuàng)建也完成,接下我們就可以為它添加一個子頁面;

3.登陸時的主頁面問題就完全解決了,但是登陸成功后我們又怎么來轉向成功后的頁面呢;我們還是在App.cs里面寫一個方法來解決,

先看代碼;

 
 
 
 
  1. ///  
  2. /// 頁面跳轉  
  3.  ///  summary> 
  4. ///  name="usercontrol"> param> 
  5. public void RedirectTo(UserControl usercontrol)  
  6. {  
  7.     App app = (App)Application.Current;①  
  8.     app.rootGrid.Children.Clear();②  
  9.     app.rootGrid.Children.Add(usercontrol);③  

這三句代碼是什么意思呢?分析結果如下

①.它的意思就是得到當應用程序的對象

②.剛才我們不是對Grid里面添加Login頁面進去了,現(xiàn)在為了添加成功頁面進去,我們必須把Grid控件中的Login清除掉;

③.這上操作是建立在②的基礎之上的,沒有它的Clear就不能添加;所以這一步就是在添加新頁面;

我們怎么來調用③這個方法呢?不難看出③這個方面的參數類型是UserControl,是一個控件;在調用它時我們傳一個就是一個頁面;            App app = (App)Application.Current;
           

 
 
 
 
  1. app.curUserName = txtUserName.Text.Trim();  
  2.             app.RedirectTo(new MainPage()); 

關于App文件的介紹我在這里就不介紹了,可以在他里面可以定義全局變得,比如:可以定義一個變量來判斷是否是登陸用戶,這些都可以來做到的;

每一個解決方案就介紹到這里;

Silverlight窗體跳轉解決方案二:

在方案二中與方案一有很多的相似的地方,我就簡單的介紹一下;

1.當應用程序運行起來時,向加載成功的頁面,在加載成功頁面的同時我們在他的Loaded事件中執(zhí)行一個模態(tài)窗體(Login);代碼如下:

 
 
 
 
  1. Login s = new Login();  
  2. s.Show(); 

如果登陸成功就回到主頁面了;2.如果在這里我們不用模態(tài)窗體用普通的一個頁面,如何解決呢?普通頁面這里也方案一很相似;先得以主頁面中聲明一個UserControl這個對象;UserControl _userControl;3.在主頁面的Loaded事件中寫如下代碼:

 
 
 
 
  1. Login login;  
  2. _userControl = new Login();  
  3. login = _userControl as Login;  
  4. this.ContentHolder.Children.Add(login); 

在這里與解決方案一基本上是一樣的;只是換了一個角度去考慮一;補充解決方案:關于頁面的跳轉也有很多的解決方案,關鍵是如何去發(fā)現(xiàn)問題?還得靠平時的積累;在有的資料文檔中還提供一種用委托來解決,這一種也是一個不錯的解決方案;在這里我就不詳細說了;


當前標題:淺析Silverlight窗體跳轉的實現(xiàn)方案
瀏覽路徑:http://m.5511xx.com/article/cdgishc.html