擴充套件SilverLight的DataPager控制項

2022-02-10 07:18:22 字數 2148 閱讀 5272

大家一定遇到這樣的情況,想改變一下sl的datapager的顯示資訊,比如希望分頁控制項上顯示資料的總數。那麼就需要擴充套件一下datapager控制項即可。

**///

///擴充套件datapager類,一是要顯示總資料數有多少,二是修改textbox的寬度

///public

class

extenddatapager : datapager

set}

double

_currentpagetextboxwidth =55

;///

///顯示當前頁的textbox的寬度,預設寬度為55

///public

double

currentpagetextboxwidth

set}

public

extenddatapager():

base

()///

///重寫  當應用新模板時生成 system.windows.controls.datapager 控制項的視覺化樹。

///public

override

void

base

//通過名稱取得模板中的元素

tbcurrentpageprefix 

=gettemplatechild(

"currentpageprefixtextblock") 

astextblock;

tbcurrentpagesuffix 

=gettemplatechild(

"currentpagesuffixtextblock") 

astextblock;

btnnextpagebutton 

=gettemplatechild(

"nextpagebutton") 

asbutton;

btnfirstpagebutton 

=gettemplatechild(

"firstpagebutton") 

asbutton;

btnlastpagebutton 

=gettemplatechild(

"lastpagebutton") 

asbutton;

btnpreviouspagebutton 

=gettemplatechild(

"previouspagebutton") 

asbutton;

txtcurrentpagetextbox 

=gettemplatechild(

"currentpagetextbox") 

astextbox;

//重寫以下元素的事件

btnnextpagebutton.click 

+=new

routedeventhandler(

(o, e) 

=>

);btnfirstpagebutton.click 

+=new

routedeventhandler(

(o, e) 

=>

);btnlastpagebutton.click 

+=new

routedeventhandler(

(o, e) 

=>

);btnpreviouspagebutton.click 

+=new

routedeventhandler(

(o, e) 

=>

);txtcurrentpagetextbox.keydown 

+=new

keyeventhandler(

(o, e) 

=>

);extenditem();

}///

///擴充套件項

///private

void

extenditem()

}有人可能不知道怎麼知道控制項datapager上元素的名稱,比如"currentpageprefixtextblock",其實很簡單,你只要查詢datapager元資料即可。

通過上面的**,就已經擴充套件了sl的控制項datapager,然後就可以像使用普通的datapager一樣使用,但是如果想要顯示資料總數,必須向屬性datacount賦值。

希望以上對大家有幫助。

擴充套件SilverLight的DataPager控制項

大家一定遇到這樣的情況,想改變一下sl的datapager的顯示資訊,比如希望分頁控制項上顯示資料的總數。那麼就需要擴充套件一下datapager控制項即可。擴充套件datapager類,一是要顯示總資料數有多少,二是修改textbox的寬度 public class extenddatapager...

擴充套件SilverLight的DataPager控制項

大家一定遇到這樣的情況,想改變一下sl的datapager的顯示資訊,比如希望分頁控制項上顯示資料的總數。那麼就需要擴充套件一下datapager控制項即可。擴充套件datapager類,一是要顯示總資料數有多少,二是修改textbox的寬度 public class extenddatapager...

Silverlight 關於執行緒呼叫的擴充套件方法

silverlight 裡需要考慮非同步呼叫的問題,比較麻煩。所以寫了兩個簡單的擴充套件方法。乙個方法是為了更新 ui 控制項。可以自動在不同的呼叫環境下判斷是否需要 invoke,從而安全的呼叫控制項相關的方法。另乙個方法的目的是把任務放到 threadpool 裡去等待後續的非同步執行。如下 u...