1. 程式人生 > >ArcGIS API for Silverlight 點選地圖彈出自定義窗體

ArcGIS API for Silverlight 點選地圖彈出自定義窗體

下面是通過新建一個Silverlight的UserControl類,裡面自定義樣式,只要你能想到的,都可以做出來,然後在地圖中點選點,例項化該類即可,主要程式碼如下:

<UserControl x:Class="MapClient.MapTip"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400" Loaded="UserControl_Loaded" Width="400" Height="300">
    
    <Grid x:Name="LayoutRoot" Background="White" Width="400" Height="300">
    	<Path Data="M1,2 C1,1.4477153 1.4477153,1 2,1 L75,1 L198.18593,-66.997299 L138,1 L360,1 C360.55228,1 361,1.4477153 361,2 L361,255 C361,255.55229 360.55228,256 360,256 L2,256 C1.4477153,256 1,255.55229 1,255 z" Fill="#FFF4F4F5" Margin="0,-79,0,0" Stretch="Fill" Stroke="#FFDAD5D5" StrokeThickness="2" UseLayoutRounding="False" Width="400" Height="379">
    		<Path.Effect>
    			<DropShadowEffect Color="#FF645F5F"/>
    		</Path.Effect>
    	</Path>
    	<Grid Height="50" Margin="0,1,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="400">
    		<Border BorderBrush="#FF8F8F8F" BorderThickness="0" Margin="16,13,0,17" HorizontalAlignment="Left" Width="70" Background="#FF8F8F8F" Height="20" Cursor="Hand" ToolTipService.ToolTip="實時資料">
    			<TextBlock x:Name="tb_sssj" TextWrapping="Wrap" Width="65" Height="20" Text="實時資料" Foreground="Black" FontSize="13.333" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    		</Border>
    		<Border BorderBrush="#FF8F8F8F" BorderThickness="0" Margin="90,13,0,17" Background="#FF8F8F8F" Height="20" HorizontalAlignment="Left" Width="70" Cursor="Hand" ToolTipService.ToolTip="田間視訊">
    			<TextBlock x:Name="tb_tjsp" TextWrapping="Wrap" Width="60" Height="20" Text="田間視訊" Foreground="#FFFDFDFD" FontSize="13.333" HorizontalAlignment="Center" VerticalAlignment="Center" MouseLeftButtonDown="tb_tjsp_MouseLeftButtonDown"/>
    		</Border>
    		<Border BorderBrush="#FF8F8F8F" BorderThickness="0" Margin="164,13,166,17" Background="#FF8F8F8F" Height="20" Cursor="Hand" ToolTipService.ToolTip="作物圖片">
    			<TextBlock x:Name="tb_zwtp" TextWrapping="Wrap" Width="60" Height="20" Text="作物圖片" Foreground="#FFFDFDFD" FontSize="13.333" HorizontalAlignment="Center" VerticalAlignment="Center" MouseLeftButtonDown="tb_zwtp_MouseLeftButtonDown"/>
    		</Border>
    		<Border BorderBrush="#FF8F8F8F" BorderThickness="0" Margin="0,13,92,17" Background="#FF8F8F8F" Height="20" HorizontalAlignment="Right" Width="70" Cursor="Hand" ToolTipService.ToolTip="專家會議">
    			<TextBlock x:Name="tb_zjhy" TextWrapping="Wrap" Width="60" Height="20" Text="專家會議" Foreground="#FFFDFDFD" FontSize="13.333" HorizontalAlignment="Center" VerticalAlignment="Center" MouseLeftButtonDown="tb_zjhy_MouseLeftButtonDown"/>
    		</Border>
    		<Border BorderBrush="#FF8F8F8F" BorderThickness="0" Margin="0,13,17,17" Background="#FF8F8F8F" Height="20" HorizontalAlignment="Right" Width="70" Cursor="Hand" ToolTipService.ToolTip="現場聯動">
    			<TextBlock x:Name="tb_xcld" TextWrapping="Wrap" Width="60" Height="20" Text="現場聯動" Foreground="#FFFDFDFD" FontSize="13.333" HorizontalAlignment="Center" VerticalAlignment="Center" MouseLeftButtonDown="tb_xcld_MouseLeftButtonDown"/>
    		</Border>
    	</Grid>
    	<Grid Height="8" Margin="-2,41,2,0" VerticalAlignment="Top" Width="400">
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" HorizontalAlignment="Center" Height="1" Margin="0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="4.404,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="187.829,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="177.824,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="167.819,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="158.481,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="149.81,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="139.805,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="130.467,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="120.462,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="111.124,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="101.786,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="92.448,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="83.777,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="74.439,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="65.768,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="55.763,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="46.425,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="37.087,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="29.75,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="22.413,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="13.742,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,187.162,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,177.824,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,168.486,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,158.481,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,149.81,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,140.472,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,130.467,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,120.462,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,111.791,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,101.786,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,92.448,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,83.11,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,73.772,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,65.101,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,56.43,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,47.759,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,38.421,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,29.083,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,19.745,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,10.407,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,1.736,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    	</Grid>
    	<Grid Margin="-2,0,2,58" Height="8" VerticalAlignment="Bottom" Width="400">
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" HorizontalAlignment="Center" Height="1" Margin="0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="4.404,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="187.829,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="177.824,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="167.819,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="158.481,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="149.81,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="139.805,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="130.467,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="120.462,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="111.124,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="101.786,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="92.448,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="83.777,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="74.439,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="65.768,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="55.763,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="46.425,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="37.087,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="29.75,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="22.413,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="13.742,0,0,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Left" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,187.162,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,177.824,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,168.486,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,158.481,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,149.81,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,140.472,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,130.467,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,120.462,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,111.791,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,101.786,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,92.448,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,83.11,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,73.772,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,65.101,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,56.43,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,47.759,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,38.421,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,29.083,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,19.745,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,10.407,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    		<Path Data="M61.333332,0 L67.333336,0" Fill="#FFF4F4F5" Height="1" Margin="0,0,1.736,0" Stretch="Fill" Stroke="#FFDAD5D5" UseLayoutRounding="False" VerticalAlignment="Center" HorizontalAlignment="Right" Width="7"/>
    	</Grid>
    	<Grid Height="61" Margin="0" VerticalAlignment="Bottom" Width="400" Background="#FFE5E5E5">
    		<Grid.ColumnDefinitions>
    			<ColumnDefinition Width="0.082*"/>
    			<ColumnDefinition Width="0.918*"/>
    		</Grid.ColumnDefinitions>
    		<Grid.RowDefinitions>
    			<RowDefinition Height="0.327*"/>
    			<RowDefinition Height="0.337*"/>
    			<RowDefinition Height="0.337*"/>
    		</Grid.RowDefinitions>
    		<Ellipse Fill="#FFFDFDFD" HorizontalAlignment="Right" Margin="0,6,3,6" Stroke="#FF48C803" Width="8" Height="8"/>
    		<Ellipse Fill="#FFFDFDFD" HorizontalAlignment="Right" Margin="0,8,3,5" Stroke="#FF48C803" Width="8" Grid.Row="1" Height="8"/>
    		<Ellipse Fill="#FFFDFDFD" HorizontalAlignment="Right" Margin="0,7,3,5" Stroke="#FF48C803" Width="8" Grid.Row="2" Height="8"/>
    		<HyperlinkButton x:Name="btn1" Content="" Grid.Column="1" HorizontalAlignment="Left" Margin="4,1,0,1" FontSize="13.333" Foreground="Black" Click="btn1_Click" Height="20" ToolTipService.ToolTip="點選檢視詳情"/>
    		<HyperlinkButton x:Name="btn2" Content="" Grid.Column="1" HorizontalAlignment="Left" Margin="4,1,0,2" FontSize="13.333" Grid.Row="1" Foreground="Black" Click="btn2_Click" Height="20" ToolTipService.ToolTip="點選檢視詳情"/>
    		<HyperlinkButton x:Name="btn3" Content="" Grid.Column="1" HorizontalAlignment="Left" Margin="4,1,0,1" FontSize="13.333" Grid.Row="2" Foreground="Black" Click="btn3_Click" Height="20" ToolTipService.ToolTip="點選檢視詳情"/>
    	</Grid>
    	<Grid Height="20" Margin="0,49,0,0" VerticalAlignment="Top" Width="400">
    		<TextBlock x:Name="tb_title" HorizontalAlignment="Left" Margin="17,0,0,0" TextWrapping="Wrap" Width="153" FontSize="13.333" Height="20" Foreground="#FFFD9312"/>
    	</Grid>
    	<Grid Margin="0,69,0,66" Width="400" Height="165">
    		<Grid.ColumnDefinitions>
    			<ColumnDefinition Width="0.155*"/>
    			<ColumnDefinition Width="0.672*"/>
    			<ColumnDefinition Width="0.172*"/>
    		</Grid.ColumnDefinitions>
    		<Grid.RowDefinitions>
    			<RowDefinition Height="18"/>
    			<RowDefinition Height="19"/>
    			<RowDefinition Height="19"/>
    			<RowDefinition Height="20"/>
    			<RowDefinition Height="20"/>
    			<RowDefinition Height="21"/>
    			<RowDefinition Height="19"/>
    			<RowDefinition Height="20"/>
    			<RowDefinition Height="9"/>
    		</Grid.RowDefinitions>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_grade" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,2,0,-1" Grid.Row="1" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_area" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,3,0,-2" Grid.Row="2" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_variety" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,4,0,-2" Grid.Row="3" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_varietyType" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,4,0,-2" Grid.Row="4" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_zjyl" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,4,0,-1" Grid.Row="5" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_dzjn" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,3,0,-2" Grid.Row="6" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_csg" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    		<Border BorderBrush="#FFF9F00E" BorderThickness="0" Grid.Column="1" Background="#FFF9F00E" Margin="0,4,0,-2" Grid.Row="7" HorizontalAlignment="Left" Width="269" Height="20">
    			<TextBlock x:Name="tb_mjn" Margin="0,0,36,0" TextWrapping="Wrap" FontSize="13.333"/>
    		</Border>
    	</Grid>
    </Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using MapClient.ServiceReference1;
using System.Windows.Browser;
using System.Windows.Controls.Primitives;
using ESRI.ArcGIS.Client;

namespace MapClient
{
    public partial class MapTip : UserControl
    {
        string _placeName = string.Empty; //監測點名稱
        string _areaID = string.Empty; //地區編號
        string _monitorID = string.Empty; //監測點ID
        string _year = string.Empty; //年份
        string _issueNum = string.Empty; //期號
        string _cycleID = string.Empty; //生育週期ID
        string _seedingTypeID = string.Empty; //苗情等級ID

        private Point _location;
        private bool _isShowing;
        private Popup _popup;
        private Grid _grid;
        private Canvas _canvas;
        private FrameworkElement _content;

        //初始化並顯示彈出窗體.公共方法在顯示選單項時呼叫
        public void Show(Point location)
        {
            if (_isShowing)
                throw new InvalidOperationException();
            _isShowing = true;
            _location = location;
            ConstructPopup();
            _popup.IsOpen = true;
        }

        //關閉彈出窗體
        public void Close()
        {
            _isShowing = false;
            if (_popup != null)
            {
                _popup.IsOpen = false;
            }
        }

        //Default behavior for OnClickOutside() is to close the context menu when there is a mouse click event outside the context menu
        protected virtual void OnClickOutside()
        {
            Close();
        }

        // 用Grid來佈局,初始化彈出窗體
        //在Grid裡面新增一個Canvas,用來監測選單項外面的滑鼠點選事件
        private void ConstructPopup()
        {
            if (_popup != null)
                return;
            _popup = new Popup();
            _grid = new Grid();
            _popup.Child = _grid;
            _canvas = new Canvas();
            _canvas.MouseLeftButtonDown += (sender, args) => { OnClickOutside(); };
            _canvas.MouseRightButtonDown += (sender, args) => { args.Handled = true; OnClickOutside(); };
            _canvas.Background = new SolidColorBrush(Colors.Transparent);
            _grid.Children.Add(_canvas);
            _content = this;
            _content.HorizontalAlignment = HorizontalAlignment.Left;
            _content.VerticalAlignment = VerticalAlignment.Top;
            _content.Margin = new Thickness(_location.X, _location.Y, 0, 0);
            _grid.Children.Add(_content);
            UpdateSize();
        }

        /// <summary>
        /// 更新大小
        /// </summary>
        private void UpdateSize()
        {
            _grid.Width = Application.Current.Host.Content.ActualWidth;
            _grid.Height = Application.Current.Host.Content.ActualHeight;
            if (_canvas != null)
            {
                _canvas.Width = _grid.Width;
                _canvas.Height = _grid.Height;
            }
        }

        public MapTip(string name, string areaID, string monitorID, string year, string cycleID, string issueNum, string seedingTypeID)
        {
            InitializeComponent();
            this._placeName = name;
            this._areaID = areaID;
            this._monitorID = monitorID;
            this._issueNum = issueNum;
            this._year = year;
            this._cycleID = cycleID;
            this._seedingTypeID = seedingTypeID;
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            getData1SoapClient client = new getData1SoapClient();
            client.GetMonitorInfoByIssueNumCompleted += new EventHandler<GetMonitorInfoByIssueNumCompletedEventArgs>(client_GetMonitorInfoByIssueNumCompleted);
            client.GetMonitorInfoByIssueNumAsync(_areaID, _monitorID, _year, _issueNum, _cycleID);
        }

        void client_GetMonitorInfoByIssueNumCompleted(object sender, GetMonitorInfoByIssueNumCompletedEventArgs e)
        {
            try
            {
                string result = e.Result;
                if (result.Split('|').Length == 1)
                {
                    this.tb_title.Text = _placeName;
                    this.tb_zjyl.Text = result.Split('|')[0].ToString();
                    this.tb_zjyl.Foreground = new SolidColorBrush(Colors.Red);
                    this.tb_zjyl.HorizontalAlignment = HorizontalAlignment.Center;
                }
                else
                {
                    this.tb_title.Text = result.Split('|')[0].ToString(); //標題
                    this.tb_grade.Text = result.Split('|')[1].ToString(); //所屬型別
                    this.tb_area.Text = result.Split('|')[2].ToString(); //代表面積
                    this.tb_variety.Text = result.Split('|')[3].ToString(); //品種
                    this.tb_varietyType.Text = result.Split('|')[4].ToString(); //品種型別
                    switch (_cycleID)
                    {
                        case "5":
                            //越冬期
                            this.tb_zjyl.Text = result.Split('|')[5].ToString(); //主莖葉齡
                            this.tb_dzjn.Text = result.Split('|')[6].ToString(); //單株莖櫱
                            this.tb_csg.Text = result.Split('|')[7].ToString(); //次生根
                            this.tb_mjn.Text = result.Split('|')[8].ToString(); //畝莖櫱
                            break;
                        case "6":
                            //返青期
                            this.tb_zjyl.Text = result.Split('|')[5].ToString(); //主莖葉齡
                            this.tb_dzjn.Text = result.Split('|')[6].ToString(); //單株莖櫱
                            this.tb_csg.Text = result.Split('|')[7].ToString(); //次生根
                            this.tb_mjn.Text = result.Split('|')[8].ToString(); //畝莖櫱
                            break;
                        case "8":
                            //拔節期
                            this.tb_zjyl.Text = result.Split('|')[5].ToString(); //主莖葉齡
                            this.tb_dzjn.Text = result.Split('|')[6].ToString(); //單株莖櫱
                            this.tb_csg.Text = result.Split('|')[7].ToString(); //畝莖櫱
                            break;
                        case "10":
                            //抽穗期
                            this.tb_zjyl.Text = result.Split('|')[5].ToString(); //主莖葉齡
                            this.tb_dzjn.Text = result.Split('|')[6].ToString(); //畝莖櫱
                            break;
                    }
                    //苗情評價分析
                    btn1.Content = result.Split('|')[0].ToString().Split(')')[0] + ")苗情評價資訊";
                    //苗情資料報表
                    btn2.Content = result.Split('|')[0].ToString().Split(')')[0] + ")小麥苗情資料報表";
                    //苗情監測報告
                    btn3.Content = result.Split('|')[0].ToString().Split(')')[0] + ")苗情監測報告";
                }
            }
            catch (Exception)
            {
                this.tb_title.Text = _placeName;
                this.tb_zjyl.Text = "暫無資料!";
                this.tb_zjyl.Foreground = new SolidColorBrush(Colors.Red);
                this.tb_zjyl.HorizontalAlignment = HorizontalAlignment.Center;
            }
        }

        void btn1_Click(object sender, RoutedEventArgs e)
        {
            //頁面跳轉後並關閉當前彈出窗體
            try
            {
                ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeMenuName") as ScriptObject;
                string firstMenuName = "農情分析";
                string secondMenuName = "苗情評價";
                string menuName = "GIS地圖監測點小麥苗情評價";
                string str = "?pAreaType=&pCounty=" + _areaID + "&pYear=" + _year + "&pPeriod=" + _issueNum + "&pStageID=" + _cycleID + "&pSeedlingType=" + _seedingTypeID + "&pMonitorID=" + _monitorID;
                SetMaterial.InvokeSelf(firstMenuName, secondMenuName, menuName, str);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            Close();
        }

        void btn2_Click(object sender, RoutedEventArgs e)
        {
            //頁面跳轉後並關閉當前彈出窗體
            ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeUrlStr") as ScriptObject;
            string firstMenuName = "農情分析";
            string secondMenuName = "苗情分佈統計分析";
            string thirdMenuName = "苗情分佈統計";
            string str = "?AreaName=" + _placeName;
            SetMaterial.InvokeSelf(firstMenuName, secondMenuName, thirdMenuName, str);
            Close();
        }

        void btn3_Click(object sender, RoutedEventArgs e)
        {
            //頁面跳轉後並關閉當前彈出窗體
            ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeUrlStr") as ScriptObject;
            string firstMenuName = "農情管理";
            string secondMenuName = "資訊錄入";
            string thirdMenuName = "小麥苗情監測報告";
            string str = "?AreaName=" + _placeName;
            SetMaterial.InvokeSelf(firstMenuName, secondMenuName, thirdMenuName, str);
            Close();
        }


        private void tb_zjhy_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            //專家會議
            ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeUrlStr") as ScriptObject;
            string firstMenuName = "農情監控";
            string secondMenuName = "農情監控";
            string thirdMenuName = "農田監控";
            string str = "?AreaName=" + _placeName;
            SetMaterial.InvokeSelf(firstMenuName, secondMenuName, thirdMenuName, str);
            Close();
        }

        private void tb_xcld_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            //現場聯動
            ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeUrlStr") as ScriptObject;
            string firstMenuName = "農情監控";
            string secondMenuName = "農情監控";
            string thirdMenuName = "農田影象監控";
            string str = "?AreaName=" + _placeName;
            SetMaterial.InvokeSelf(firstMenuName, secondMenuName, thirdMenuName, str);
            Close();
        }

        private void tb_tjsp_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
        	// 田間視訊
			ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeUrlStr") as ScriptObject;
            string firstMenuName = "農情監控";
            string secondMenuName = "農情監控";
            string thirdMenuName = "農田影象監控";
            string str = "?AreaName=" + _placeName;
            SetMaterial.InvokeSelf(firstMenuName, secondMenuName, thirdMenuName, str);
            Close();
        }

        private void tb_zwtp_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
        	// 作物圖片
			ScriptObject SetMaterial = HtmlPage.Window.GetProperty("GotoHomeUrlStr") as ScriptObject;
            string firstMenuName = "農情監控";
            string secondMenuName = "農情監控";
            string thirdMenuName = "農田影象監控";
            string str = "?AreaName=" + _placeName;
            SetMaterial.InvokeSelf(firstMenuName, secondMenuName, thirdMenuName, str);
            Close();
        }

    }
}
         #region 滑鼠左鍵事件開始
        void Feature_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            //滑鼠左鍵,顯示ToolTip資訊
            Graphic g = sender as Graphic;
            for (int i = 0; i < areaId.Length; i++)
            {
                if (areaId[i] == g.Attributes["Id"].ToString())
                {
                    //彈出對應的提示資訊
                    MapTip tip = new MapTip(g.Attributes["Name"].ToString(), g.Attributes["AreaID"].ToString(), areaId[i], year[i], cycleId[i], issueNum[i], seedlingType[i]);
                    Point p = e.GetPosition(LayoutRoot);
                    p.X = p.X - 220;
                    p.Y = p.Y + 80;
                    tip.Show(p);
                }
            }
        }

效果如下圖所示: