<Grid.Resources> <esriToolkitUtilities:CodedValueDomainConverter x:Key="codedValueDomainConverter" /> <esriToolkitUtilities:CodedValueSources x:Key="codedValueSourcesStatusField" /> </Grid.Resources>
public partial class CodedValueDomainExample : UserControl { CodedValueSources codedValueSourcesStatusField; public CodedValueDomainExample() { InitializeComponent(); codedValueSourcesStatusField = LayoutRoot.Resources["codedValueSourcesStatusField"] as CodedValueSources; } private void FeatureLayer_Initialized(object sender, EventArgs e) { FeatureLayer flayer = sender as FeatureLayer; foreach (Field field in flayer.LayerInfo.Fields) { if (field.Name == "status") { CodedValueDomain codedValueDomain = field.Domain as CodedValueDomain; foreach (KeyValuePair<object, string> codeVal in codedValueDomain.CodedValues) codedValueSourcesStatusField.Add(new CodedValueSource() { Code = codeVal.Key, Name = codeVal.Value == null ? "" : codeVal.Value }); break; } } } }
<esri:FeatureLayer Url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/SanFrancisco/311Incidents/FeatureServer/0" OutFields="req_type, status" Mode="OnDemand" Initialized="FeatureLayer_Initialized"> <esri:FeatureLayer.MapTip> <Border CornerRadius="10" Background="Azure" BorderBrush="Black" BorderThickness="2"> <StackPanel Margin="5"> <TextBlock Text="{Binding [req_type]}" FontWeight="Bold" /> <StackPanel Orientation="Horizontal"> <TextBlock Text="Incident Status: " /> <TextBlock Text="{Binding [status], Converter={StaticResource codedValueDomainConverter}, ConverterParameter={StaticResource codedValueSourcesStatusField}}" /> </StackPanel> </StackPanel> </Border> </esri:FeatureLayer.MapTip> </esri:FeatureLayer>
var graphic = new Graphic(); if (l.LayerInfo == null) return; //use LayerInfo.Fields foreach (var field in l.LayerInfo.Fields) graphic.Attributes[field.Name] = null; //use PrototypeAttributes FeatureTemplate featureTemplate = null; if (l.LayerInfo.Templates != null && l.LayerInfo.Templates.Count > 0) featureTemplate = l.LayerInfo.Templates.FirstOrDefault().Value; else if (l.LayerInfo.FeatureTypes != null && l.LayerInfo.FeatureTypes.Count > 0) { var featureType = l.LayerInfo.FeatureTypes.FirstOrDefault(); if (featureType.Value != null && featureType.Value.Templates != null) featureTemplate = featureType.Value.Templates.FirstOrDefault().Value; } if (featureTemplate != null && featureTemplate.PrototypeAttributes != null) { foreach (var item in featureTemplate.PrototypeAttributes) graphic.Attributes[item.Key] = item.Value; }
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.