<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; }
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.