我正在尝试创建一个从 identifyTask 填充的 ComboBox(该任务来自 ArcGIS Silverlight API)。我遇到了两个事件的问题。一个创建一个列表,而另一个将该列表推送到 ComboBox。我似乎无法正确创建列表。现在,ComboBox 只是空白。
这是一个 XAML 片段:
<ComboBox x:Name="IdentifyComboBox" SelectionChanged="cb_SelectionChanged"
Margin="5,1,5,5" Grid.Row="0">
</ComboBox>
这是一个 C# 片段:
public void ShowFeatures(List<IdentifyResult> results)
{
_dataItems = new List<DataItem>();
if (results != null && results.Count > 0)
{
var fieldsToDisplay = new List<string>() { "OBJECTID", "Projekt", "Laufzeit", "Ansprechpa" };
foreach (IdentifyResult result in results)
{
Graphic feature = result.Feature;
string title = result.Value.ToString() + " (" + result.LayerName + ")";
var attributesToDisplay = new Dictionary<string, object>();
foreach (var item in feature.Attributes)
if (fieldsToDisplay.Contains(item.Key))
attributesToDisplay[item.Key] = item.Value;
_dataItems.Add(new DataItem()
{
Title = title,
Data = attributesToDisplay
});
}
IdentifyComboBox.SelectedIndex = 0;
}
}
void cb_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int index = IdentifyComboBox.SelectedIndex;
if (index > -1)
IdentifyDetailsDataGrid.ItemsSource = _dataItems[index].Data;
}