Exemplo n.º 1
0
 protected void OnGetSymbolsForResourceDictionaryCompleted(GetSymbolsForResourceDictionaryCompletedEventArgs args)
 {
     if (GetSymbolsForResourceDictionaryCompleted != null)
     {
         GetSymbolsForResourceDictionaryCompleted(this, args);
     }
 }
        private void onGetSymbolsForResourceDictionariesCompleted(GeometryType geometryType, SymbolResourceDictionaryEntry entry, GetSymbolsForResourceDictionaryCompletedEventArgs e2, object userState)
        {
            IEnumerable<SymbolDescription> symbols = e2.Symbols;
            if (symbols == null || symbols.Count() < 1)
            {
                base.OnGetDefaultSymbolFailed(new ExceptionEventArgs(string.Format(Resources.Strings.ExceptionNoDefaultSymbolsFoundInDictionaryForGeometryType, entry.DisplayName, geometryType), userState));
                return;
            }

            base.OnGetDefaultSymbolCompleted(new GetDefaultSymbolCompletedEventArgs() { DefaultSymbol = symbols.ElementAt(0), UserState = userState, GeometryType = geometryType });
        }
        void SymbolConfigProvider_GetSymbolForResourceDictionary(object sender, GetSymbolsForResourceDictionaryCompletedEventArgs e)
        {
            if (e.Symbols == null)
                return;            

            if (Symbols != null)
            {
                try
                {
                    Symbols.Items.Clear();
                    foreach (SymbolDescription symbolDescription in e.Symbols)
                    {
                        if (symbolDescription == null || symbolDescription.Symbol == null)
                            continue;
                        Symbol symbol = symbolDescription.Symbol;
                        double size = 50;
                        ESRI.ArcGIS.Mapping.Core.Symbols.MarkerSymbol markerSymbol = symbol as ESRI.ArcGIS.Mapping.Core.Symbols.MarkerSymbol;
                        if (markerSymbol != null)
                        {
                            if (!double.IsNaN(markerSymbol.Size))
                                size = markerSymbol.Size;
                        }
                        else if (symbol is FillSymbol || symbol is LineSymbol)
                            size = 25;
                        else if (symbol is ESRI.ArcGIS.Client.Symbols.SimpleMarkerSymbol )
                        {
                            ESRI.ArcGIS.Client.Symbols.SimpleMarkerSymbol simpleMarkerSymbol =
                                symbol as ESRI.ArcGIS.Client.Symbols.SimpleMarkerSymbol;
                            if (simpleMarkerSymbol != null && !double.IsNaN(simpleMarkerSymbol.Size))
                                size = simpleMarkerSymbol.Size;
                        }
                        else if (symbol is ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleMarkerSymbol)
                        {
                            ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleMarkerSymbol sms =
                                symbol as ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleMarkerSymbol;
                            if (sms != null && !double.IsNaN(sms.Size))
                                size = sms.Size;
                        }

                        SymbolDisplay disp = new SymbolDisplay()
                        {
                            Symbol = symbolDescription.Symbol,                            
                            Width = size,
                            Height = size,
                            IsHitTestVisible = false // Set to false to prevent mouseover and selection effects
                        };

                        // Wrap symbol display in a grid to allow cursor and tooltip
                        Grid symbolGrid = new Grid() 
                            { 
                                Cursor = Cursors.Hand,
                                // Apply nearly transparent background so grid is hit-test visible
                                Background = new SolidColorBrush(Color.FromArgb(1, 255, 255, 255))
                            };
                        symbolGrid.Children.Add(disp);
                       
                        Symbols.Items.Add(symbolGrid);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Instance.LogError(ex);
					MessageBoxDialog.Show(ESRI.ArcGIS.Mapping.Controls.Resources.Strings.ErrorRetrievingSymbols + Environment.NewLine + ex.Message);
                }
            }
        }
Exemplo n.º 4
0
        private void onGetSymbolsForResourceDictionariesCompleted(GeometryType geometryType, SymbolResourceDictionaryEntry entry, GetSymbolsForResourceDictionaryCompletedEventArgs e2, object userState)
        {
            IEnumerable <SymbolDescription> symbols = e2.Symbols;

            if (symbols == null || symbols.Count() < 1)
            {
                base.OnGetDefaultSymbolFailed(new ExceptionEventArgs(string.Format(Resources.Strings.ExceptionNoDefaultSymbolsFoundInDictionaryForGeometryType, entry.DisplayName, geometryType), userState));
                return;
            }

            base.OnGetDefaultSymbolCompleted(new GetDefaultSymbolCompletedEventArgs()
            {
                DefaultSymbol = symbols.ElementAt(0), UserState = userState, GeometryType = geometryType
            });
        }
 protected void OnGetSymbolsForResourceDictionaryCompleted(GetSymbolsForResourceDictionaryCompletedEventArgs args)
 {
     if (GetSymbolsForResourceDictionaryCompleted != null)
         GetSymbolsForResourceDictionaryCompleted(this, args);
 }