private void OnHyperlinkClicked(object sender, RoutedEventArgs e) { if (HyperlinkClicked != null) { HyperlinkClicked.Invoke(sender, e); } }
public TaskDialog() { config.StructSize = ( uint )Marshal.SizeOf(config); config.Callback = (IntPtr hwnd, TaskDialogNotification msg, IntPtr wParam, IntPtr lParam, IntPtr lpRefData) => { TaskDialogEventArgs commonEventArgs; switch (msg) { case TaskDialogNotification.Created: { var eventArgs = new TaskDialogEventArgs() { TaskDialogHandle = hwnd }; Created?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.Destroyed: { var eventArgs = new TaskDialogEventArgs() { TaskDialogHandle = hwnd }; Destroyed?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.DialogConstructed: { var eventArgs = new TaskDialogEventArgs() { TaskDialogHandle = hwnd }; Constructed?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.Help: { var eventArgs = new TaskDialogEventArgs() { TaskDialogHandle = hwnd }; Help?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.ButtonClicked: { var eventArgs = new ButtonClickedEventArgs(( int )wParam) { TaskDialogHandle = hwnd }; ButtonClicked?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.RadioButtonClicked: { var eventArgs = new ButtonClickedEventArgs(( int )wParam) { TaskDialogHandle = hwnd }; RadioButtonClicked?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.HyperlinkClicked: { string url = null; unsafe { url = new string (( char * )lParam ); } var eventArgs = new HyperLinkClickedEventArgs(url) { TaskDialogHandle = hwnd }; HyperlinkClicked?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.ExpendOButtonClicked: { var eventArgs = new ExpandButtonClickedEventArgs(wParam.ToInt32() == 0 ? false : true) { TaskDialogHandle = hwnd }; ExpandButtonClicked?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.VerificationClicked: { var eventArgs = new VerificationClickedEventArgs(wParam.ToInt32() == 0 ? false : true) { TaskDialogHandle = hwnd }; VerificationClicked?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.Navigated: { var eventArgs = new TaskDialogEventArgs() { TaskDialogHandle = hwnd }; Navigated?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; case TaskDialogNotification.Timer: { var eventArgs = new TimerEventArgs(TimeSpan.FromMilliseconds(( uint )wParam)) { TaskDialogHandle = hwnd }; Timer?.Invoke(this, eventArgs); commonEventArgs = eventArgs; } break; default: return(0); } return(commonEventArgs.ReturnValue); }; }
/// <summary> /// Raises the <see cref="E:HyperlinkClicked" /> event. /// </summary> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected virtual void OnHyperlinkClicked(HyperLinkEventArgs e) { HyperlinkClicked?.Invoke(this, e); }