public void AddMapping(PopupNavigationSource source, Type elementType) { if (!this.popupContentTypeMapping.ContainsKey(source)) { this.popupContentTypeMapping.Add(source, elementType); } }
public void ShowPopupContent(PopupNavigationSource source) { if (this.CurrentPopupNavigationSource != source) { this.CurrentPopupNavigationSource = source; var handler = Volatile.Read(ref this.PopupChanged); if (handler != null) { var type = this.popupContentTypeMapping[source]; handler.Invoke(this, new PopupChangedEventArgs(type, source)); } } }
public PopupChangedEventArgs(Type type, PopupNavigationSource popupNavigationSource) { this.Type = type; this.PopupNavigationSource = popupNavigationSource; }