/// <summary> /// Creates a popup for hosting a popup window. /// </summary> /// <param name="rootModel">The model.</param> /// <param name="settings">The optional popup settings.</param> /// <returns>The popup.</returns> protected virtual Popup CreatePopup(object rootModel, IDictionary<string, object> settings) { var popup = new Popup(); if(settings != null) { var type = popup.GetType(); foreach(var pair in settings) { var propertyInfo = type.GetProperty(pair.Key); if (propertyInfo != null) propertyInfo.SetValue(popup, pair.Value, null); } if (!settings.ContainsKey("PlacementTarget") && !settings.ContainsKey("Placement")) popup.Placement = PlacementMode.MousePoint; if (!settings.ContainsKey("AllowsTransparency")) popup.AllowsTransparency = true; } else { popup.AllowsTransparency = true; popup.Placement = PlacementMode.MousePoint; } return popup; }
/// <summary> /// Creates a popup for hosting a popup window. /// </summary> /// <param name = "rootModel">The model.</param> /// <param name = "settings">The optional popup settings.</param> /// <returns>The popup.</returns> protected virtual Popup CreatePopup(object rootModel, IDictionary<string, object> settings) { var popup = new Popup(); if(settings != null) { var type = popup.GetType(); foreach(var pair in settings) { var propertyInfo = type.GetProperty(pair.Key); if(propertyInfo != null) propertyInfo.SetValue(popup, pair.Value, null); } } return popup; }