IObservableMap<K, V> IObservableMap<K, V> IObservableMap<K, V> IObservableMap<K, V> Interface

Notifies listeners of dynamic changes to a map, such as when items are added or removed.



public interface IObservableMap<K, V>public interface IObservableMap<K, V>Public Interface IObservableMap<K, V>


The IObservableMap<K, V> interface enables clients to register for notification events to IMap<K, V> collections. For example, you might use IObservableMap<K, V> when you need to keep two map structures synchronized. In this case, use the IObservableMap<K, V> interface to receive notification of changes, so that the associated data structure can be updated.

Observable collections are mainly useful for XAML data binding scenarios. For more info, see Data binding in depth.

Interface inheritance

IObservableMap<K, V> inherits IMap<K, V> and IIterable<T>. Types that implement IObservableMap<K, V> also implement the interface members of IMap<K, V> and IIterable<T>, with an IKeyValuePair<K, V> type constraint.

.NET usage

IObservableMap<K, V> isn't hidden for .NET usage. However, it's more common to use the .NET ObservableCollection<T> type (using a KeyValuePair as T) as a base class, or implement a Dictionary type or interface (generic or nongeneric) and INotifyCollectionChanged separately. If you do use IObservableMap<K, V> for .NET code, the base interfaces (and their members) project as System.Collections.Generic.IDictionary<TKey,TValue> and IEnumerable<T> (with KeyValuePair).

Events summary

Occurs when the map changes.


Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.FoundationContract (introduced v1)