读书人

请问treeView的相关有关问题

发布时间: 2012-02-29 16:44:11 作者: rapoo

请教treeView的相关问题
表t_sys_menu

MenuCode MenuName PMenuCode FileName Ico

10公共查询 0test1.xaml test1.gif
1001公共信息查询10test2.xaml test2.gif
1002统计信息模块10test3.xaml test3.gif
99系统相关设置0test4.xaml test4.gif
9901机构管理 99test5.xaml test5.gif
9902用户管理 99test6.xaml test6.gif

相关代码

XML code
<sdk:TreeView HorizontalAlignment="Left" Margin="25,12,0,75" Name="tvTest" Width="tru






C# code
 

void AddTreeNode1(string deptID, TreeViewItem treeViewItem)
{
List <t_sys_Menu> menuList = (from dep in StudContext.t_sys_Menus
where dep.PMenuCode == deptID
select dep).AsQueryable().ToList();
StudContext.Load(StudContext.GetT_sys_MenuQuery());

if (menuList.Count > 0)
{
foreach (t_sys_Menu dept in menuList)
{
TreeViewItem treeNode = new TreeViewItem();
treeNode.Header = dept.MenuName;
treeNode.DataContext = dept;
treeNode.IsExpanded = true;

if (treeViewItem == null)
{
this.tvTest.Items.Add(treeNode);
}
else
{
treeViewItem.Items.Add(treeNode);
}
AddTreeNode(dept.MenuCode, treeNode);
}
}
}


private void tvTest_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
{
//t_sys_Menu menuModel = (t_sys_Menu)tvTest.SelectedItem;
TreeView tree = sender as TreeView;
TreeViewItem item = tvTest.SelectedItem as TreeViewItem;


MessageBox.Show(item.Header.ToString());
}







请问如何修改上面的代码达到下面的目的
1.将字段Ico中的图像加在节点前
2.点击节点tvTest_SelectedItemChanged弹出字段FileName中的内容。




小弟新手,请各位大侠给于代码级的帮助。谢谢!

[解决办法]
问题1: 首先确认一点,Silverlight不支持gif图片格式,所以,如果是Gif格式,就不能显示。另外如果是jpg或者png格式,你可以在数据契约成员中,定义个图片名,从数据库查询后,赋值到该成员,然后前台可以进行绑定。Treeview绑定图片,需要使用自定义模板,详细看微软的教程:http://blogs.silverlight.net/blogs/justinangel/archive/2008/11/18/silverlight-toolkit-treeview-treeviewitem-amp-hierarchaldatatemplate.aspx

问题2:和问题一相同,建立一个FileName的契约成员,然后进行赋值,客户端就可以调用。 在tvTest_SelectedItemChanged中的sender是tvtest绑定数据,其中可以获取到FileName.所以,你可以试试sender. 看看提示属性。

读书人网 >CAD教程

热点推荐