2015-09-08 2 views
3

Возможно ли подключить событие, например, с помощью элемента управления Webbrowser (встроенный)? Мне нужно выполнить oAuth в настольном приложении, и мне нужно знать, был ли добавлен код аутентификации в redirect_uri.CefSharp.wpf веб-браузер навигационное событие (C# .Net)

Я использовал элемент управления WebBrowser, который встроен и имеет такие события, как Навигация и Навигация, но у меня возникла проблема с ieframe.dll/navcancl.htm, поэтому я решил пойти с CefSharp.wpf ChromiumWebBrowser, но я не возможность поиска любых событий, которые могут быть вызваны, когда браузер завершил навигацию по URL.

Это то, что я сделал в XAML

<wpf:ChromiumWebBrowser Grid.Row="0" Grid.Column="0" 
     x:Name="ChromiumBrowser" 
     WebBrowser="{Binding WebBrowser, Mode=OneWayToSource}" FrameLoadStart="ChromiumBrowser_OnFrameLoadStart" 
     Title="{Binding Title, Mode=TwoWay}" /> 

и когда пользователь запрашивает проверку подлинности, я устанавливаю адрес как

ChromiumBrowser.Address = NavigateUrl 

ответ

3

The ChromiumWebBrowser имеет LoadingStateChanged событие с LoadingStateChangedArgs , который имеет свойство IsLoading. Он также имеет событие FrameLoadEnd, которое поднимается, когда рамка на странице заканчивается загрузкой.

+0

В текущем выпуске событие называется 'NavStateChanged', в предстоящей версии' 43' оно было переименовано в 'LoadingStateChanged', чтобы все было встроено в проект' вверх по течению' CEF. https://github.com/cefsharp/CefSharp/blob/cefsharp/41/CefSharp/IWebBrowser.cs#L48 – amaitland

+0

Для справки текущая стабильная версия - '41.0.1' – amaitland

+0

Я установил ее из Nuget и ее v43 (preerelease) поэтому я вижу изменения уже @amaitland :) –

Смежные вопросы