<UserControl.Resources> <ResourceDictionary> <esri:SimpleMarkerSymbol x:Key="BlueMarkerSymbol" Color="Blue" Size="12" Style="Circle" /> <esri:SimpleLineSymbol x:Key="RedLineSymbol" Color="Red" Width="4" Style="Solid" /> <esri:SimpleLineSymbol x:Key="BlueLineSymbol" Color="Blue" Width="4" Style="Solid" /> <esri:SimpleFillSymbol x:Key="RedFillSymbol" Fill="#66FF0000" BorderBrush="Red" BorderThickness="2" /> <esri:SimpleFillSymbol x:Key="BlueFillSymbol" Fill="#660000FF" BorderBrush="Blue" BorderThickness="2" /> <esri:SimpleFillSymbol x:Key="WhiteFillSymbol" Fill="#AAFFFFFF" BorderBrush="#DD000000" BorderThickness="2" /> <esri:PictureMarkerSymbol x:Key="RedStickpin" OffsetX="16" OffsetY="32" Source="/PolicyQuerySpatial.AddIns;component/Images/RedStickpin.png" Height="32" Width="32" /> <esri:PictureMarkerSymbol x:Key="BlueStickpin" OffsetX="16" OffsetY="32" Source="/PolicyQuerySpatial.AddIns;component/Images/BlueStickpin.png" Height="32" Width="32" /> <esri:MarkerSymbol x:Name="CustomStrobeMarkerSymbol"> <esri:MarkerSymbol.ControlTemplate> <ControlTemplate> <Canvas> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="SelectionStates"> <VisualState x:Name="Selected"> <Storyboard RepeatBehavior="1x"><!--"ForEver"--> <DoubleAnimation BeginTime="0" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)" From="1" To="6" Duration="00:00:00.5" /> <DoubleAnimation BeginTime="0" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)" From="1" To="6" Duration="00:00:00.5" /> <DoubleAnimation BeginTime="0" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)" From="1" To="1" Duration="00:00:01" /> </Storyboard> </VisualState> <VisualState x:Name="Unselected" /> </VisualStateGroup> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="MouseOver"> <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="labelOnHover" Storyboard.TargetProperty="Visibility" Duration="0"> <DiscreteObjectKeyFrame KeyTime="0"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <DoubleAnimation From="0" To="1" Storyboard.TargetName="labelOnHover" Storyboard.TargetProperty="Opacity" Duration="0:0:.25" /> </Storyboard> </VisualState> <VisualState x:Name="Normal" /> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Ellipse Height="10" Width="10" Canvas.Left="-5" Canvas.Top="-5" RenderTransformOrigin="0.5,0.5" x:Name="ellipse" IsHitTestVisible="False"> <Ellipse.RenderTransform> <ScaleTransform /> </Ellipse.RenderTransform> <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color="#8DFFFF00" /> <GradientStop Color="#8DFFFF00" Offset=".4" /> <GradientStop Color="#8DFF7600" Offset=".8" /> <GradientStop Color="#00FF7600" Offset="1" /> <!--<GradientStop Color="#00FF0000" Offset="1" />--> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> <Ellipse Height="10" Width="10" Canvas.Left="-5" Canvas.Top="-5" Fill="#FFFF0000" x:Name="ellipse1" /> <Grid Margin="8,-8,0,0" x:Name="labelOnHover" Visibility="Collapsed" HorizontalAlignment="Left" VerticalAlignment="Top" > <!--Text halo using a white blurred text--> <TextBlock Foreground="White" FontWeight="Bold" Text="{Binding Attributes[POLICY_NO]}" > <TextBlock.Effect> <BlurEffect Radius="5" /> </TextBlock.Effect> </TextBlock> <!--Text--> <TextBlock Foreground="Black" FontWeight="Bold" Text="{Binding Attributes[POLICY_NO]}" /> </Grid> </Canvas> </ControlTemplate> </esri:MarkerSymbol.ControlTemplate> </esri:MarkerSymbol> </ResourceDictionary> </UserControl.Resources>
// Retrieve or create a graphics layer to use for displaying results GraphicsLayer graphicsLayer = null; if (featureSet.Features[0].Geometry is ESRI.ArcGIS.Client.Geometry.MapPoint)// && featureSet.Count() < 6) graphicsLayer = GetOrCreateLayer("Policy Spatial Query Results", "CustomStrobeMarkerSymbol"); private GraphicsLayer GetOrCreateLayer(string layerId, string renderer) { Layer layer = MapApplication.Current.Map.Layers[layerId]; if (layer != null && layer is GraphicsLayer) { return layer as GraphicsLayer; } else { GraphicsLayer gLayer = new GraphicsLayer() { ID = layerId, Renderer = new SimpleRenderer() { Symbol = Resources[renderer] as Symbol } }; gLayer.SetValue(MapApplication.LayerNameProperty, layerId); return gLayer; } }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.