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

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);
}


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

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...