/// <summary> /// Writes trace output for a binding failure plus triggers the event <see cref="BindingDiagnostics.BindingFailed"/>. /// The event will not be triggered if the TraceEventType is filtered out. This overload allows specific trace and event parameters to be included. /// </summary> /// <param name="binding">The binding is only part of the event, not the trace message.</param> public static void TraceAndNotify(TraceEventType eventType, AvTraceDetails traceDetails, BindingExpressionBase binding, object[] traceParameters, object[] eventParameters = null) { string traceOutput = _avTrace.Trace(eventType, traceDetails.Id, traceDetails.Message, traceDetails.Labels, traceParameters); if (traceOutput != null && BindingDiagnostics.IsEnabled) { BindingDiagnostics.NotifyBindingFailed(new BindingFailedEventArgs(eventType, traceDetails.Id, traceOutput, binding, eventParameters)); } }