利用了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應用程式是如何在瀏...