<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; }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.