Silverlight切換頁(yè)面實(shí)現(xiàn)技巧分享
微軟公司開(kāi)發(fā)的Silverlight工具是一個(gè)功能非常強(qiáng)大的開(kāi)發(fā)輔助工具。不僅能幫助我們實(shí)現(xiàn)多媒體相關(guān)功能處理,而且還能在一定程度上降低程序員的編程壓力。我們?cè)谶@里為大家講解的Silverlight切換頁(yè)面這個(gè)做法是來(lái)自“Jesse Liberty”的視頻“USING MULTIPLE PAGES, PART 1”,基本方法是創(chuàng)建一個(gè)PageSwticher,這個(gè)PageSwitcher不直接顯示頁(yè)面,而是作為一個(gè)后臺(tái),負(fù)責(zé)切換各個(gè)頁(yè)面。#t#
Silverlight切換頁(yè)面的具體做法是:
新建一個(gè)UserControl,名字可以叫做PageSwitcher。然后將PageSwitcher.xaml中的Grid控件去掉,編程下面這樣:
- xmlns="http://schemas.microsoft.
com/winfx/2006/xaml/presentation%22 - xmlns:x="http://schemas.microsoft.
com/winfx/2006/xaml%22>
然后在后臺(tái)代碼中增加一個(gè)方法,比如叫做SwitchPage,用來(lái)實(shí)現(xiàn)Silverlight切換頁(yè)面,然后在構(gòu)造函數(shù)中調(diào)用,用來(lái)顯示***個(gè)要顯示頁(yè)面:
- public partial class PageSwitcher
: UserControl- {
- public PageSwitcher()
- {
- InitializeComponent();
- SwitchPage(new Page());
//顯示***個(gè)要顯示的頁(yè)面- }
- ///
- /// 切換頁(yè)面
- ///
- /// 需要被切換到的頁(yè)面
- public void SwitchPage
(UserControl newPage)- {
- this.Content = newPage;
- }
- }
然后在我們的各個(gè)頁(yè)面中,在需要切換頁(yè)面的事件響應(yīng)方法中,只需要這么做:
- private void btn_Click
(object sender, RoutedEventArgs e)- {
- PageSwitcher switcher =
this.Parent as PageSwitcher;- switcher.SwitchPage(new
AnotherPage());- }
***,我們需要修改app.xaml.cs中的Application_Startup方法,修改起始頁(yè)面
- private void Application_
Startup(object sender,
StartupEventArgs e)- {
- this.RootVisual =
new PageSwitcher();- }
完成到這一步之后,我們就能夠?qū)崿F(xiàn)Silverlight切換頁(yè)面。