Windows Phone 7 程式等待頁面的處理

2021-09-21 09:04:20 字數 3648 閱讀 4978

程式啟動通常會有乙個等待的過程,在這個過程中可以通過使用popup控制項配合backgroundworker類啟動後台執行緒來實現。

控制項的**

popupsplash.xaml

<

usercontrol

x:class

="progresssplashscreen.popupsplash"

xmlns

=""xmlns:x

=""xmlns:d

=""xmlns:mc

=""mc:ignorable

="d"

fontfamily=""

fontsize=""

foreground=""

d:designheight

="800"

d:designwidth

="480"

>

<

grid

x:name

="layoutroot"

background

="white"

width

="480"

height

="800"

>

<

progressbar

horizontalalignment

="left"

margin

="0,755,0,0"

name

="progressbar1"

width

="480"

background

="darkred"

/>

<

image

height

="757"

horizontalalignment

="left"

name

="image1"

stretch

="fill"

verticalalignment

="top"

width

="480"

source

="/progresssplashscreen;component/wuyuan.png"

/>

<

textblock

horizontalalignment

="left"

margin

="171,656,0,97"

name

="textblock1"

text

="loading..."

width

="208"

foreground

="black"

fontsize

="30"

/>

grid

>

usercontrol

>

cs

using system;  

using system.collections.generic;  

using system.linq;  

using system.net;  

using system.windows;  

using system.windows.controls;  

using system.windows.documents;  

using system.windows.input;  

using system.windows.media;  

using system.windows.media.animation;  

using system.windows.shapes;  

namespace progresssplashscreen  

}  } mainpage.xaml.cs

using system;  

using system.collections.generic;  

using system.linq;  

using system.net;  

using system.windows;  

using system.windows.controls;  

using system.windows.documents;  

using system.windows.input;  

using system.windows.media;  

using system.windows.media.animation;  

using system.windows.shapes;  

using microsoft.phone.controls;  

using system.windows.controls.primitives;  

using system.componentmodel;  

using system.threading;  

namespace progresssplashscreen  

private void showpopup()  

private void startloadingdata()  

//後台操作完成  

void backroungworker_runworkercompleted(object sender, runworkercompletedeventargs e)  

);  

}  //後台操作處理  

void backroungworker_dowork(object sender, doworkeventargs e)  

}  }system.windows.controls.primitives.popup 類

xaml語法

child

popup 控制項可在單獨視窗中相對於螢幕上的元素或點顯示內容。當 popup 可見時,isopen 屬性設定為 true。 

popup.child 屬性

內容模型:child 屬性是 popup 控制項的唯一內容屬性。乙個 popup 只能有乙個 uielement 作為子級,但該子級可以包含複雜的嵌入內容。例如,該子級可以是包含 image、文字和其他型別控制項的 stackpanel。 當將內容新增到 popup 控制項時,popup 控制項會成為該內容的邏輯父級。同樣,popup 內容將被視為 popup 的邏輯子級。不會將子內容新增到包含 popup 控制項的視覺化樹中。但當 isopen 設定為 true 時,子內容將呈現在具有自身視覺化樹的單獨的視窗中。

system.componentmodel. backgroundworker 類

若要在後台執行耗時的操作,請建立乙個 backgroundworker,偵聽那些報告操作進度並在操作完成時發出訊號的事件。若要設定後台操作,請為 dowork 事件新增乙個事件處理程式。在此事件處理程式中呼叫耗時的操作。若要啟動該操作,請呼叫 runworkerasync。若要收到進度更新通知,請對 progresschanged 事件進行處理。若要在操作完成時收到通知,請對 runworkercompleted 事件進行處理。

注意 您必須非常小心,確保在 dowork 事件處理程式中不操作任何使用者介面物件。而應該通過 progresschanged 和 runworkercompleted 事件與使用者介面進行通訊。

自學Windows Phone 7隨筆

移動開發是趨勢,作為程式設計師應該不斷學習,我現在開始自學windows phone 7移動開發。其他的不多說了直接開始 1 我的開發環境 windows 7 vdisual studio 2010 express for windows phone 安裝windows phone sdk 工具 w...

windows phone7資料整理

wp7資料庫 指導部落格 msdn msdn 應用發布流程 客戶端框架 caliburn sourcecode caliburn learning blog nroute sourcecode nroute learning blog 環境配置 1.安裝 visual studio 2010 sp1...

Windows Phone 7 開發環境搭建

本文通過step by step的模式講述如何從0開始搭建window phone 7開發環境,如果開發簡單的windows phone 7程式。只是一篇介紹性的文章,但是邁進windows phone 7開發之路其實就那麼簡單,一起來開發windows phone 7吧。目前windows pho...