根据IFeatureLayer在Map中的渲染颜色设置对应的DonetBar中Listbox中Layer项的符号

        /// <summary>
        /// 显示Listbox 的layer数据
        /// </summary>
        /// <param name="pLayer"></param>
        /// <param name="FeatureLayerListBoxAdv"></param>
        public static void SymbolLayerInGroupLayerListBox(ILayer pLayer, ListBoxAdv FeatureLayerListBoxAdv)
        {
            if (pLayer is IGroupLayer)
            {
                ListBoxItem layerNameItem = new ListBoxItem();
                layerNameItem.Image = Properties.Resources.图层;
                layerNameItem.Text = pLayer.Name;
                layerNameItem.Name = pLayer.Name;
                FeatureLayerListBoxAdv.Items.Add(layerNameItem);
                ICompositeLayer pCompositeLayer = pLayer as ICompositeLayer;
                for (int j = 0; j < pCompositeLayer.Count; j++)
                {
                    ILayer pcLayer = pCompositeLayer.Layer[j];
                    SymbolLayerInGroupLayerListBox(pcLayer, FeatureLayerListBoxAdv);
                }

            }
            if (pLayer is IFeatureLayer)
            {
                ListBoxItem layerItem = new ListBoxItem();
                layerItem.Text = pLayer.Name;
                layerItem.Name = pLayer.Name;
                layerItem.Tag = pLayer;

                IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;
                IGeoFeatureLayer pGeoFeatureLayer = pFeatureLayer as IGeoFeatureLayer;
                IFeatureRenderer pFeatRender = pGeoFeatureLayer.Renderer;
                ISimpleFillSymbol pSymbol = null;
                if (pFeatRender is ISimpleRenderer)
                {
                    ISimpleRenderer pSimple = pFeatRender as ISimpleRenderer;
                    pSymbol = pSimple.Symbol as ISimpleFillSymbol;
                    RgbColor rgbColor = new RgbColor();
                    rgbColor.RGB = pSymbol.Color.RGB;
                    Color pSymbolColor = Color.FromArgb(rgbColor.Red, rgbColor.Green, rgbColor.Blue);
                    layerItem.SymbolColor = pSymbolColor;
                    layerItem.SymbolSet = eSymbolSet.Awesome;
                    layerItem.Symbol = "\uf04d";
                }
                FeatureLayerListBoxAdv.Items.Add(layerItem);
            }
            FeatureLayerListBoxAdv.RecalcLayout();
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值