silverlight樹形結構區服選擇

2022-01-30 03:19:16 字數 3965 閱讀 1027

利用了silverlight toolkit中的treeview控制項實現了區服選擇。

1.引用程式集:system.windows.controls.toolkit.dll

2.新建silverlight子控制項頁面 childregionworld1.xaml

3.在 childregionworld1.xaml中的usercontrol 中新增xmlns:toolkit="clrnamespace:system.windows.controls;assembly=system.windows.controls.toolkit"

4.放入treeview控制項(完整xaml**):

<

controls:childwindow 

x:class

xmlns

=""xmlns:x

=""xmlns:controls

="clr-namespace:system.windows.controls;assembly=system.windows.controls"

xmlns:toolkit

="clr-namespace:system.windows.controls;assembly=system.windows.controls.toolkit"

width

="400"

height

="300"

title

="區服選擇"

>

<

grid 

x:name

="layoutroot"

margin

="2"

>

<

grid.rowdefinitions

>

<

rowdefinition 

/>

<

rowdefinition 

height

="auto"

/>

grid.rowdefinitions

>

<

controls:treeview 

x:name

="tvregionworld"

>

controls:treeview

>

<

button 

x:name

="cancelbutton"

content

="取消"

click

="cancelbutton_click"

width

="75"

height

="23"

horizontalalignment

="right"

margin

="0,12,0,0"

grid.row

="1"

/>

<

button 

x:name

="okbutton"

content

="確定"

click

="okbutton_click"

width

="75"

height

="23"

horizontalalignment

="right"

margin

="0,12,79,0"

grid.row

="1"

/>

grid

>

controls:childwindow

>

5.childregionworld1.xaml.cs中的**:

class region

public

string regionname 

}public

class world

public

string worldname 

public

string regionid 

}public

partial

class childregionworld1 : childwindow

private

void fillregionworldintotreeview()

,new region()

};ilistworlds = new list,

new world(),

new world(),

new world(),

new world()

};tvregionworld.items.clear();

foreach (region r in regions)

tvregionworld.items.add(item);}}

private

void okbutton_click(object sender, routedeventargs e)

private

void cancelbutton_click(object sender, routedeventargs e)

//////

單服選中時,區必須要選中

//////

///private

void world_checkbox_checked(checkbox ck)

}///

///單服不選中時,如果同區其他服也不選中,那麼區就不要選中

//////

///private

void world_checkbox_unchecked(checkbox ck)

}stackpanel panel = item.header as stackpanel;

uielement uie = panel.children.firstordefault();

if (uie != null)

}///

///區選中時,底下所有的服都選中

//////

///private

void region_checkbox_checked(checkbox ck)

//////

區選不中時,底下所有的服都不選中

//////

///private

void region_checkbox_unchecked(checkbox ck)

private

void checkoruncheckworlds(checkbox ck,bool ischeck)}}

}}}private treeviewitem gettreeviewitemfromheader(string spname)

}return

null;

}private treeviewitem gettreeviewitemfromitems(string spname)}}

return

null;

}private

void world_checkbox_click(object sender, routedeventargs e)

else

}private

void region_checkbox_click(object sender, routedeventargs e)

else}}

}7.在mainpage.xaml.cs中寫入如下的呼叫方法:

private

void button_click(object sender, routedeventargs e)

void child_closed(object sender, eventargs e)

,",cb.name);}}

}messagebox.show(str);

}具體執行效果解釋如下圖所示:(點選區時,區下所有的服都會選中,區下所有的服都不選中時,區也不選中,只要有乙個服是選中的,區也會選中)

Silverlight 結構分析

silverlight是微軟提供的一種web前端應用程式開發框架,是微軟ria的主要應用程式開發平台。silverlight以瀏覽器的外掛程式方式,提供豐富的多 展示功能以及更多互動性的web前端解決方案。本文的重點在於 silverlight的整體架構,以及silverlight應用程式是如何在瀏...

Silverlight 結構分析

silverlight是微軟提供的一種web前端應用程式開發框架,是微軟ria的主要應用程式開發平台。silverlight以瀏覽器的外掛程式方式,提供豐富的多 展示功能以及更多互動性的web前端解決方案。本文的重點在於 silverlight的整體架構,以及silverlight應用程式是如何在瀏...

Silverlight 結構分析

silverlight是微軟提供的一種web前端應用程式開發框架,是微軟ria的主要應用程式開發平台。silverlight以瀏覽器的外掛程式方式,提供豐富的多 展示功能以及更多互動性的web前端解決方案。本文的重點在於 silverlight的整體架構,以及silverlight應用程式是如何在瀏...