I have a ProWindow with two combo boxes on it. The combo box items are retrieved from coded value domains. I followed the guidelines for thread safe data binding with WPF on ProConcepts Framework · Esri/arcgis-pro-sdk Wiki · GitHub (section Thread safe data binding with WPF).
The data binding is as follows:
public ReadOnlyObservableCollection<string> StreetItems
{
get { return _streetItems; }
}
public ReadOnlyObservableCollection<string> RiverItems
{
get { return _riverItems; }
}The code for filling the first combo box is as follows (the second combo box is filled accordingly):
var items = new ObservableCollection<string>();
_streetItems= new ReadOnlyObservableCollection<string>(items);
object lockObject = new object();
BindingOperations.EnableCollectionSynchronization(_streetItems, lockObject);
var codedValuePairs = await GetCodedValuePairsFromDomainAsync(layerName, fieldName);
lock (lockObject)
{
foreach (var keyValuePair in codedValuePairs)
{
items.Add(keyValuePair.Value);
}
} The problem is that I can only fill one combo box with the domain values. The other combo box (whether it is the first or the second) always remains empty. What am I doing wrong?