ArcGIS API for Silverlight 点击地图上的要素,弹出窗口(使用Telerik RadWindow)

简介: xmlns:telerikNavigation="clr-namespace:Telerik.

xmlns:telerikNavigation="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation"
xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"

 <!-- 详情信息显示窗口-->
<telerikNavigation:RadWindow x:Name="RadWindow1"  Tag="详情" BorderBackground="#B4DEFE" Width="520"   Height="330"  LocationChanged="RadWindow1_LocationChanged" WindowState="Maximized">
         <telerik:RadHtmlPlaceholder x:Name="moreInfo" SourceUrl="" />
</telerikNavigation:RadWindow>

#region 处理弹出窗口公共类

        public void ClickOpenDetailInfo(string name, string url)
        {
            TextBlock textBlock = new TextBlock();
            moreInfo.Height = 541;
            moreInfo.SourceUrl = new Uri(url, UriKind.Relative);
            string tmp = string.Empty;
             tmp = name + "详细信息";
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < tmp.Length; i++)
            {
                sb.Append(tmp[i] + " ");
            }
            textBlock.Text = sb.ToString();
            textBlock.FontSize = 16;
            textBlock.FontWeight = FontWeights.Black;
            SolidColorBrush scbrush = new SolidColorBrush();
            scbrush.Color = Colors.Black;
            textBlock.Foreground = scbrush;

            textBlock.HorizontalAlignment = HorizontalAlignment.Center;
            RadWindow1.Header = textBlock;
            RadWindow1.Show();
        }


        private void RadWindow1_LocationChanged(object sender, RoutedEventArgs e)
        {
            moreInfo.InvalidateArrange();
        }


        #endregion

//左键菜单
graphic.MouseLeftButtonDown += new MouseButtonEventHandler(sw_graphic_MouseLeftButtonDown);
 graphic.MouseLeftButtonUp += new MouseButtonEventHandler(sw_graphic_MouseLeftButtonUp);

void sw_graphic_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
         e.Handled = true;
}

 void sw_graphic_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
            Graphic g = sender as Graphic;
            string url = "../ysq/page2.aspx?stype=2&ylz=" + HttpUtility.UrlEncode(g.Attributes["YLZMC"].ToString());
            //弹出窗体
            ClickOpenDetailInfo(g.Attributes["YLZMC"].ToString(), url);
}


效果如下图,这个窗口能保证每次只弹出一个。


相关文章
|
存储 SQL 定位技术
ArcGIS三种筛选提取要素的方法
ArcGIS三种筛选提取要素的方法
8328 0
|
缓存 API 流计算
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
|
API Python Windows
python3应用windows api对后台程序窗口及桌面截图并保存的方法
python3应用windows api对后台程序窗口及桌面截图并保存的方法
1739 1
ArcGIS:如何基于文本创建点要素?
ArcGIS:如何基于文本创建点要素?
458 0
|
Python
ARCGIS PRO DSK GraphicsLayer创建文本要素
ARCGIS PRO DSK GraphicsLayer创建文本要素
1145 5
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
|
定位技术
ArcGIS面要素最小外接矩形、外接圆的绘制方法
ArcGIS面要素最小外接矩形、外接圆的绘制方法
790 1
|
定位技术
ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool
ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool
1089 1
ArcGIS中ArcMap求取点要素在栅格图像中的行列号的方法
ArcGIS中ArcMap求取点要素在栅格图像中的行列号的方法
529 1
|
编解码 定位技术 Python
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
840 1