/// <summary> /// Raise a Property Changed Event with a custom Event Args /// </summary> /// <param name="createEventArgs"></param> internal void RaisePropertyChanged(Func <System.ComponentModel.PropertyChangedEventArgs> createEventArgs) { System.ComponentModel.PropertyChangedEventHandler handler = this.PropertyChangedEventHandler; if (handler != null) { System.ComponentModel.PropertyChangedEventArgs eventArgs = createEventArgs(); // Iterate for each Delegate logging each Excpetion we could receive foreach (Delegate d in handler.GetInvocationList()) { d.DynamicInvoke(this, eventArgs); } } }