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); }
效果如下图,这个窗口能保证每次只弹出一个。