请教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
相关代码
<sdk:TreeView HorizontalAlignment="Left" Margin="25,12,0,75" Name="tvTest" Width="tru
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: 首先确认一点,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. 看看提示属性。