Silverlight窗體應用技巧全面分享
Silverlight的正確應用并不是看看使用說明就能完全掌握的,我們還需要在平時不斷的應用積累中區(qū)總結經驗與技巧。以達到一種熟練運用的程度,方便我們將來的程序開發(fā)。在這里就先來了解下其中Silverlight窗體的一些操作方法。#t#
我們如何能把Silverlight利用像熟練呢?就像寫Web應用程序一樣呢?其實這個問題也很簡單,只要在平時多關心Silverlight,了解Silverlight就可以了,如果你對它很陌生,那么它也對你一樣的陌生,這兩者是成正比的;今天我就給大家講一下在Silverlight 3.0是關于Redirect頁面的跳轉,與ASP.NET頁面的跳轉一樣;
案例:現在有一個登陸窗口,如果用戶登陸成功以后成功頁面,沒有成功就到原始頁面;如果沒有登陸提示用戶去登陸;這樣一個需求在ASP.NET 很好解決,但是在Siverlight API 文檔 中目前還沒有提供寫好的方法來解決這個問題;這個問題其實也不算很難,通過看Silverlight API 也可以找到解決方案;接下來我就為大家提供兩種方案來解決Silverlight窗體跳轉這個問題吧;
Silverlight窗體實現跳轉解決方案:
我們可以從App.cs文件中來解決;我們可以在App中定義一個全局的變量;
1.我們先在App中定義一個Grid控件;代碼如下所示:
- Grid rootGrid = new Grid();
2.當整個應用程序啟動運行時,讓它***個頁面Login頁面;在Application Startup事件中來處理解決,先看一下代碼:
- private void Application_Startup
- (object sender, StartupEventArgs e)
- { this.RootVisual = rootGrid;
- ① this.rootGrid.Children.Add(new Login());
- ②
- }
這句代碼是什么意思呢?分析如下:
1.當整個應用程序啟動時,程序的主界面加載就是Grid;
2.Grid控件加載完成了,那么它的創(chuàng)建也完成,接下我們就可以為它添加一個子頁面;
3.登陸時的主頁面問題就完全解決了,但是登陸成功后我們又怎么來轉向成功后的頁面呢;我們還是在App.cs里面寫一個方法來解決,
先看代碼;
- /// < summary> /// 頁面跳轉 /// summary> ///
- < param name="usercontrol">
- param> public void RedirectTo
- (UserControl usercontrol)
- { App app = (App)Application.Current;
- ① app.rootGrid.Children.Clear();
- ② app.rootGrid.Children.Add(usercontrol);
- ③
- }
這三句Silverlight窗體的操作代碼是什么意思呢?分析結果如下
①.它的意思就是得到當應用程序的對象
②.剛才我們不是對Grid里面添加Login頁面進去了,現在為了添加成功頁面進去,我們必須把Grid控件中的Login清除掉;
③.這上操作是建立在②的基礎之上的,沒有它的Clear就不能添加;所以這一步就是在添加新頁面;
我們怎么來調用③這個方法呢?不難看出③這個方面的參數類型是UserControl,是一個控件;在調用它時我們傳一個就是一個頁面;
- App app = (App)Application.
Current;- app.curUserName = txtUserName.
Text.Trim(); app.RedirectTo
(new MainPage());
關于App文件的介紹我在這里就不介紹了,可以在他里面可以定義全局變得,比如:可以定義一個變量來判斷是否是登陸用戶,這些都可以來做到的。
Silverlight窗體的跳轉實現代碼就為大家介紹到這里。