質問編集履歴

3 コードの編集

退会済みユーザー

退会済みユーザー

2019/01/11 22:40  投稿

Cefsharp LoadingStateChangedイベントハンドラの使い方
CefSharpを使い始めました。
ページの読み込み処理を待ちたいのですができずに詰まっております。
似たような質問が[CefSharp documentcompleted](https://stackoverflow.com/questions/41985380/cefsharp-documentcompleted)のサイトにありました。
CefSharpはLoadingStateChangedイベントをもっているようです。
このイベントを利用してページの読み込みを待つにはどうすればよいのでしょうか?
私なりに試した結果がこちらになります。**browser.Address ="https://www.google.com/";**の後にOnLoadingStateChangedイベントは起こっております。
しかしながら **browser.Load("http://github.com"); **の前に待つための処理を書きたいのですがどのようにしたらよいのか思い付きません。
```
        public async void start()
       {
           var settings = new CefSettings()
           {
               Locale = "ja",
           };
           Cef.Initialize(settings);
           CefSharp.Wpf.ChromiumWebBrowser browser = new CefSharp.Wpf.ChromiumWebBrowser();
           Content = browser;
           browser.LoadingStateChanged += OnLoadingStateChanged;
           browser.Address ="https://www.google.com/";
           //ここにLoadingStateChangedイベントを利用した待ち処理を行いたい
           browser.Load( "http://github.com");
       }
       private void OnLoadingStateChanged(object sender, LoadingStateChangedEventArgs args)
       {
 
           Debug.Print("OnLoadingStateChanged is occured!");
           if (args.IsLoading)
           {
           }
           else
           {
           }
       }
```
  • C#

    9666 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • WPF

    893 questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

2 コードの編集

退会済みユーザー

退会済みユーザー

2019/01/11 22:39  投稿

Cefsharp LoadingStateChangedイベントハンドラの使い方
CefSharpを使い始めました。
ページの読み込み処理を待ちたいのですができずに詰まっております。
似たような質問が[CefSharp documentcompleted](https://stackoverflow.com/questions/41985380/cefsharp-documentcompleted)のサイトにありました。
CefSharpはLoadingStateChangedイベントをもっているようです。
このイベントを利用してページの読み込みを待つにはどうすればよいのでしょうか?
私なりに試した結果がこちらになります。browser.Address ="https://www.google.com/";の後にOnLoadingStateChangedイベントは起こっております。しかしながら問題があります。  
[1つ目の問題点]
start メソッド内でbrowser.Address ="https://www.google.com/";の後に来るbrowser.Load( "http://github.com");の前に読み込みを待つ処理をしたいが待たずに browser.Load( "http://github.com");が行われる。
[2つ目の問題点]
OnLoadingStateChangedメソッドが永久にループする。
```
       public Browser()
       {
           InitializeComponent();
           start();
       }
私なりに試した結果がこちらになります。**browser.Address ="https://www.google.com/";**の後にOnLoadingStateChangedイベントは起こっております。
しかしながら **browser.Load("http://github.com"); **の前に待つための処理を書きたいのですがどのようにしたらよいのか思い付きません。
       public async void start()
```
        public async void start()
       {
           var settings = new CefSettings()
           {
               Locale = "ja",
           };
           Cef.Initialize(settings);
           CefSharp.Wpf.ChromiumWebBrowser browser = new CefSharp.Wpf.ChromiumWebBrowser();
           Content = browser;
           browser.LoadingStateChanged += OnLoadingStateChanged;
           browser.Address ="https://www.google.com/";
           //ここにLoadingStateChangedイベントを利用した待ち処理を行いたい  
           browser.Load( "http://github.com");
       }
       private void OnLoadingStateChanged(object sender, LoadingStateChangedEventArgs args)
       {
           
           while (true)
           Debug.Print("OnLoadingStateChanged is occured!");
           if (args.IsLoading)
           {
               Debug.Print("OnLoadingStateChanged is occured!");
               if (!args.IsLoading)
               {
                   break;
               }
           }
           else
           {
           }
       }
         
   }  
```
  • C#

    9666 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • WPF

    893 questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

1 進んだ箇所を追記

退会済みユーザー

退会済みユーザー

2019/01/10 22:04  投稿

Cefsharp LoadingStateChangedイベントハンドラの使い方
CefSharpを使い始めました。
ページの読み込み処理を待ちたいのですができずに詰まっております。
似たような質問が[CefSharp documentcompleted](https://stackoverflow.com/questions/41985380/cefsharp-documentcompleted)のサイトにありました。
CefSharpはLoadingStateChangedイベントをもっているようです。
このイベントを利用してページの読み込みを待つにはどうすればよいのでしょうか?
参考になるサイトでも構いませんので回答宜しくお願い致します。
私なりに試した結果がこちらになります。browser.Address ="https://www.google.com/";の後にOnLoadingStateChangedイベントは起こっております。しかしながら問題があります。
[1つ目の問題点]  
start メソッド内でbrowser.Address ="https://www.google.com/";の後に来るbrowser.Load( "http://github.com");の前に読み込みを待つ処理をしたいが待たずに browser.Load( "http://github.com");が行われる。  
[2つ目の問題点]  
OnLoadingStateChangedメソッドが永久にループする。  
```
           Cef.Initialize(new CefSettings());
           browser = new ChromiumWebBrowser("http://google.com");
//ここにページ読み込みを待つ処理
//ぺージ読み込み完了後の処理
       public Browser()
       {
           InitializeComponent();
           start();
       }
       public async void start()
       {
           var settings = new CefSettings()
           {
               Locale = "ja",
           };
           Cef.Initialize(settings);
           CefSharp.Wpf.ChromiumWebBrowser browser = new CefSharp.Wpf.ChromiumWebBrowser();
           Content = browser;
           browser.LoadingStateChanged += OnLoadingStateChanged;
           browser.Address ="https://www.google.com/";
           browser.Load( "http://github.com");
       }
       private void OnLoadingStateChanged(object sender, LoadingStateChangedEventArgs args)
       {
           
           while (true)
           {
               Debug.Print("OnLoadingStateChanged is occured!");
               if (!args.IsLoading)
               {
                   break;
               }
           }
       }
       
   }
```
  • C#

    9666 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • WPF

    893 questions

    Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る