У меня есть следующий код XAML:
<DataGridHyperlinkColumn TargetName="{Binding Path=UriLink}" Header="On Line Source" x:Name="OnLineSource" IsReadOnly="True">
<DataGridHyperlinkColumn.ElementStyle>
<Style TargetType="TextBlock">
<EventSetter Event="Hyperlink.Click" Handler="OnHyperlinkClick" />
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
C#
public void OnHyperlinkClick(object sender, RoutedEventArgs e)
{
IWebDriver webDriverProfile;
webDriverProfile = new ChromeDriver();
var destination = ((Hyperlink)e.OriginalSource).NavigateUri;
webDriverProfile.Navigate().GoToUrl(destination.ToString());
Thread.Sleep(60000);
webDriverProfile.Quit();
}
Проблема в том, что через 60 секунд браузер закрывается, и это может быть неудобно для пользователя , Не могли бы вы помочь мне найти решение, чтобы ссылка в DataGridHyperlinkColumn открывала страницу, которая не закрывается по истечении указанного времени?
Я пробовал код отсюда: Обработка DataGridHyperlinkColumn Click Event
Но у меня есть следующая ошибка:
System.ComponentModel.Win32Exception HResult = 0x80004005 Сообщение = Системе не удается найти указанный файл. Source = System.Diagnostics.Process StackTrace: в System.Diagnostics.Process.StartWithCreateProcess (ProcessStartInfo startInfo) в System.Diagnostics.Process.Start () в System.Diagnostics.Process.Start (ProcessStartInfo startInfo) в System.Diagnostics.Process. Начало (String fileName) в App1.MainWindow.OnHyperlinkClick (Отправитель объекта, RoutedEventArgs e) в D: \ Apps .. \ App1 \ App1 \ MainWindow.xaml.cs: строка 291 в System. Windows .EventRoute.InvokeHandlersImpl (Object source, RoutedEventArgs args, Boolean reRaised) в System. Windows .UIElement.RaiseEventImpl (отправитель DependencyObject, RoutedEventArgs args) в System. Windows .ContentElement.RaiseEvent (RoutedEventArgs e) в System. * 1028H.per. OnClick () в System. Windows .Documents.Hyperlink.DispatchNavigation (Отправитель объекта) в System. Windows .Documents.Hyperlink.OnMouseLeftButtonUp (Отправитель объекта, MouseButtonEventArgs e) в System. Windows .Documents.HyperlinkUButouseMo. (MouseButtonEventArgs e) в System. Windows .UIElement.OnMouseLeftButtonUpThu nk (Отправитель объекта, MouseButtonEventArgs e) в System. Windows .RoutedEventArgs.InvokeHandler (Обработчик делегата, Цель объекта) в System. Windows .EventRoute.InvokeHandlersImpl (Исходный объект, аргументы RoutedEventArgs, Boolean reRaised) в System. * .UIElement.ReRaiseEventAs (отправитель DependencyObject, аргументы RoutedEventArgs, RoutedEvent newEvent) в System. Windows .UIElement.OnMouseUpThunk (отправитель объекта, MouseButtonEventArgs e) в System. System. Windows .EventRoute.InvokeHandlersImpl (Источник объекта, аргументы RoutedEventArgs, Boolean reRaised) в System. Windows .UIElement.RaiseEventImpl (отправитель DependencyObject, RoutedEventArgs args) в System. Windows .ConiseEgsTegs. в системе. Windows .Input.InputManager.ProcessStagingArea () в системе. Windows .Input.InputProviderSite.ReportInput (InputReport inputReport) в системе. Windows .Interop.HwndMouseInputProvider.ReportInput (IntPtr hwnd, InputMode метка времени, Действия RawMouseActions, Int32 x, Int32 y, колесо Int32) в System. Windows .Interop.HwndMouseInputProvider.FilterMessage (IntPtr hwnd, сообщение WindowMessage, IntPtr wParam, IntPtr lParam, Boolean & handled) в System. Windows. .InputFilterMessage (IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean & обрабатываются) в MS.Win32.HwndWrapper.WndPro c (IntPtr hwnd, Int32 msg, IntPtr wParam, Int32). HwndSubclass.DispatcherCallbackOperation (Object o) в System. Windows .Threading.ExceptionWrapper.InternalRealCall (обратный вызов делегата, аргументы объекта, Int32 numArgs) в System. , Int32 numArgs, Делегат catchHandler) в System. Windows .Threading.Dispatcher.LegacyInvokeImpl (приоритет DispatcherPriority, время ожидания TimeSpan, метод делегата, объектные аргументы, Int32 numArgs) в MS.Win32.HwndSubclass.SubclassWndPro * 10 * 50 * Int32 msg, IntPtr wParam, IntPtr lParam) в MS. Win32.UnsafeNativeMethods.DispatchMessage (MSG & msg) в System. Windows .Threading.Dispatcher.PushFrameImpl (фрейм DispatcherFrame) в System. Windows .Threading.Dispatcher.PushFrame (фрейм DispatcherFrame) в System. * 1053. грузоотправитель. Запустите () в System. Windows .Application.RunDispatcher (игнорирование объектов) в System. Windows .Application.RunInternal (окно) в System. Windows .Application.Run () в App1.App.Main ( ) "
Возможно, что-то, чего мне не хватает в коде по вышеуказанной ссылке.
Пожалуйста, помогите.
Заранее спасибо!