日期:2014-05-17  浏览次数:20817 次

设置ImageSource属性
环境是VS2010,SL4.0,WCF RIA,EntityFramework
我根据数据库表的内容动态生成了一个导航菜单(我用的是第三方Silverlight控件DevExpress的NavBarControl控件),现在为了美观想在每一个动态菜单项目前添加一个图片。图片的文件名保存在数据库TSYSFUN表的LINKIMAGE字段。在程序中我是直接查询视图V_LISTRIGHT生成的实体类,其中包括了LINKIMAGE字段。在项目中图片保存在images目录下(已包含在项目中),格式为png。

下面是我的代码

            foreach (V_LISTRIGHT tmp in list)
            {
                NavBarGroup newGroup = new NavBarGroup();
                newGroup.Header = tmp.DISPLAYNAME;
                navBarList.Groups.Add(newGroup);
               
                foreach (V_LISTRIGHT item in context.V_LISTRIGHTs)
                {
                    if (item.PARENTNADOID == tmp.NODEID)
                    {
                        NavBarItem newItem = new NavBarItem();
                        newItem.Content = item.DISPLAYNAME;
                        newItem.Name = item.NODEID;
                        if(item.NODEID=="2")
                        newItem.ImageSource = new BitmapImage(new Uri("/images/"+item.LINKIMAGE+ ".png", UriKind.Relative));
                        
                        newGroup.Items.Add(newItem);