IObservableMap<K, V> 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> : IMap<K, V>
struct winrt::Windows::Foundation::Collections::IObservableMap<K, V> : IMap<K, V>
public interface IObservableMap<K, V> : IDictionary<K, V>
Public Interface IObservableMap<K, V> Implements IDictionary<K, V>
// You can't instantiate an interface directly in JavaScript. You can use objects that implement the interface, however.

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduced v1)


The IObservableMap<K,V> interface enables clients to register for notification events to IMap; 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; and IIterable;. Types that implement IObservableMap<K,V> also implement the interface members of IMap; and IIterable;, with an IKeyValuePair; type constraint.

.NET usage

IObservableMap<K,V> isn't hidden for .NET usage. However, it's more common to use the .NET ObservableCollection 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 (with KeyValuePair).


MapChanged MapChanged MapChanged MapChanged MapChanged

Occurs when the map changes.

See also