動態資料來源的繫結

2021-07-07 03:18:19 字數 2137 閱讀 6520

基本步驟:

- 1. 構建xml文字

- 2. 使用xmltextreader生成控制項

- 3. 將控制項放入頁面

window.cs

stackpanel sp;//容器

list

sourcelist = getsource();//資料來源

//構建文字框集合

string xmlcontrols;

foreach (sourcemodel in sourcelist)

//構建stackpanel,將文字框集合放入其中

string strxaml =

"+"xmlns=\"" "

+"xmlns:x=\"" "

+"xmlns:c1=\"" "

+"xmlns:basiccontrols=\"clr-namespace:shenliansystem.common.basiccontrols\" "

+"orientation=\"horizontal\" "

+">"+""

+""+""

+""+""

+""+""

+ xmlcontrols +

"";//根據構建好的xml,生成控制項children

stringreader strreader =

new stringreader(strxaml);

system.

xml.xmltextreader xmlreader =

new system.

xml.xmltextreader(strreader);

var children = xamlreader.load(xmlreader) as frameworkelement;//生成的內容

//將控制項children放入容器sp

sp.children.clear();

sp.children.add(children);

一般情況下需要做繫結屬性:

window.cs

xmlcontrols = "" +

"" +

"" +

...;

viewmodel

sourcemodel sourcemodel1 

sourcemodel sourcemodel2

sourcemodel sourcemodel3

...

**但由於屬性個數不確定,無法在後台宣告對應的變數

用乙個動態型別包裝一下,將這些數目不確定的變數變成這個動態實體的屬性**

window.cs

for(int i = 1; i <= sourcelist.count; i++)\"/>";

}

viewmodel

dynamicsourcemodel dynamicsourcemodel

////// 構建動態實體

///public

void

setmodel()

}///

/// 動態實體類

///public

class dynamicsourcemodel : dynamicobject

////// 取值

//////

變數名///

是否有此變數

///變數值

public

bool

trygetmember(string key, out sourcemodel result)

////// 按約束重寫

//////

//////

public

override

bool

trygetmember(getmemberbinder binder, out

object result)

////// 取值

//////

變數字典

public dictionary trygetmember()

}

asp Repeater繫結資料來源

page language c autoeventwireup true codebehind showrepeater.aspx.cs inherits binddata.connection.showrepeater using system using system.collections.g...

WPF Silverlight 資料來源繫結方式

wpf oneway 使用 oneway 繫結時,每當源發生變化,資料就會從源流向目標。onetime 繫結也會將資料從源傳送到目標 但是,僅當啟動了應用程式或 datacontext 發生更改時才會如此操作,因此,它不會偵聽源中的更改通知。onewaytosource 繫結會將資料從目標傳送到源。...

gridview 繫結資料來源

本人剛剛學習asp.net c 整理一下關於 gridview的使用 if page.ispostback this.panel1.visible true this.gridview1.emptydatatext 暫沒有資料 this.gridview1.emptydatarowstyle.hor...