大家一定遇到這樣的情況,想改變一下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...