ウェブビュー

概要

画像チャートコントロールを表します。

シグネチャ

1
public class WebView : ControlBase

 

名前空間

cAlgo.API

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
<span="normal"> 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 using cAlgo.API;
 namespace cAlgo.Robots
 {
     [Robot(AccessRights = AccessRights.None)]
     public class WebViewOnChart : Robot
     {
         private WebView _webView;
         private TextBox _addressTextBox;
         private <span="n">TextBox _scriptTextBox;
         private Button _executeScriptButton;
         protected override void OnStart()
         {
             var goBackButton = new Button
             {
                 Text = "←",
                 Margin = 3
             };
             goBackButton.Click += OnGoBackButtonClick;
             var goForwardButton = new Button
             {
                 Text = "→",
                 Margin = 3
             };
             goForwardButton.Click += OnGoForwardButtonClick;
             _addressTextBox = new TextBox
             {
                 Text = "https://ctrader.com/"<span="p">,
                 Margin = 3<span="p">,
                 Width = 150<span="p">,
                 MinWidth = 150<span="p">,
                 MaxWidth = 150
             };
             var goButton = new Button
             {
                 Text = "→",
                 Margin = 3
             };
             goButton.Click += OnGoButtonClick<span="p">;
             var reloadButton = new Button
             {
                 Text = "リロード",
                 Margin = 3
             };
             reloadButton.Click += OnReloadButtonClick<span="p">;
             var stopButton = new Button
             {
                 Text = "×",
                 Margin = 3
             <span="p">};
             stopButton.Click += OnStopButtonClick<span="p">;
             _scriptTextBox = new TextBox
             {
                 Text = "alert('こんにちは');",
                 Margin = 3<span="p">,
                 Width = 150<span="p">,
                 MinWidth = 150<span="p">,
                 MaxWidth = 150<span="p">,
                 IsEnabled = false
             };
             _executeScriptButton = new Button
             {
                 Text = "スクリプト実行",
                 Margin = 3<spanのp">,
                 IsEnabled = false
             };
             _executeScriptButton.Click += OnExecuteScriptButtonClick<span="p">;
             var <span="n">addressBarPanel = new StackPanel
             {
                 MaxHeight = 50<span="p">,
                 VerticalAlignment = VerticalAlignment.Top<spanのp">,
                 BackgroundColor = Color.Black<span="p">,
                 Orientation = Orientation.Horizontal
             };
             addressBarPanel.AddChild(goBackButton<spanのp">);
             addressBarPanel.AddChild(goForwardButton<span="p">);
             addressBarPanel.AddChild<spanのp">(_addressTextBox<spanのp">);
             addressBarPanel.AddChild<spanのp">(goButton<spanのp">);
             addressBarPanel<spanのp">.AddChild<spanのp">(reloadButton<spanのp">);
             addressBarPanel<spanのp">.AddChild<spanのp">(stopButton<spanのp">);
             addressBarPanel<spanのp">.AddChild<spanのp">(_scriptTextbox<spanのp">);
             addressBarPanel<spanのp">.AddChild<spanのp">(_executeScriptButton<spanのp">);
             _webView <spanのo">= <spanのk">new <spanのn">WebView
             <spanのp">{
                 <spanのn">DefaultBackgroundColor <spanのo">= <spanのn">Color<spanのp">.<spanのn">Red
             <spanのp">};
             <spanのn">_webView<spanのp">.<spanのn">NavigationCompleted <spanのo">+= <spanのn">OnWebViewNavigationCompleted<spanのp">;
             <spanのn">_webView<spanのp">.<spanのn">WebMessageReceived <spanのo">+= <spanのn">OnWebViewWebMessageReceived<spanのp">;
             <spanのn">_webView<spanのp">.<spanのn">Loaded <spanのo">+= <spanのn">OnWebViewLoaded<spanのp">;
             <spanのn">_webView<spanのp">.<spanのn">Unloaded <spanのo">+= <spanのn">OnWebViewUnloaded<spanのp">;
             <spanのkt">var <spanのn">mainGrid <spanのo">= <spanのk">new <spanのn">Grid<spanのp">(<spanのm">2<spanのp">, <spanのm">1<spanのp">);
             <spanのn">mainGrid<spanのp">.<spanのn">Rows<spanのp">[<spanのm">0<spanのp">].<spanのn">SetHeightToAuto<spanのp">();
             <spanのn">mainGrid<spanのp">.<spanのn">Rows<spanのp">[<spanのm">1<spanのp">].<spanのn">SetHeightInStars<spanのp">(<spanのm">1<spanのp">);
             <spanのn">mainGrid<spanのp">.<spanのn">AddChild<spanのp">(<spanのn">addressBarPanel<spanのp">, <spanのm">0<spanのp">, <spanのm">0<spanのp">);
             <spanのn">mainGrid<spanのp">.<spanのn">AddChild<spanのp">(<spanのn">_webView<spanのp">, <spanのm">1<spanのp">, <spanのm">0<spanのp">);
             <spanのn">Chart<spanのp">.<spanのn">AddControl<spanのp">(<spanのn">mainGrid<spanのp">);
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnWebViewLoaded<spanのp">(<spanのn">WebViewLoadedEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">Print<spanのp">(<spanのs">$"Webview loaded, IsLoaded: {args.WebView.IsLoaded}"<spanのp">);
             <spanのn">_webView<spanのp">.<spanのn">NavigateAsync<spanのp">(<spanのn">_addressTextBox<spanのp">.<spanのn">Text<spanのp">);
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnWebViewUnloaded<spanのp">(<spanのn">WebViewUnloadedEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">Print<spanのp">(<spanのs">$"Webview unloaded, IsLoaded: {args.WebView.IsLoaded}"<spanのp">);
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnStopButtonClick<spanのp">(<spanのn">ButtonClickEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">_webView<spanのp">.<spanのn">StopAsync<spanのp">();
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnExecuteScriptButtonClick<spanのp">(<spanのn">ButtonClickEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのkt">var <spanのn">result <spanのo">= <spanのn">_webView<spanのp">.<spanのn">ExecuteScript<spanのp">(<spanのn">_scriptTextBox<spanのp">.<spanのn">Text<spanのp">);
             <spanのn">Print<spanのp">(<spanのs">$"IsSuccessful: {result.IsSuccessful} | Json: {result.Json}"<spanのp">);
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnReloadButtonClick<spanのp">(<spanのn">ButtonClickEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">_webView<spanのp">.<spanのn">ReloadAsync<spanのp">();
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnGoForwardButtonClick<spanのp">(<spanのn">ButtonClickEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">_webView<spanのp">.<spanのn">GoForwardAsync<spanのp">();
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnGoBackButtonClick<spanのp">(<spanのn">ButtonClickEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">_webView<spanのp">.<spanのn">GoBackAsync<spanのp">();
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnGoButtonClick<spanのp">(<spanのn">ButtonClickEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">_webView<spanのp">.<spanのn">NavigateAsync<spanのp">(<spanのn">_addressTextBox<spanのp">.<spanのn">Text<spanのp">);
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnWebViewWebMessageReceived<spanのp">(<spanのn">WebViewWebMessageReceivedEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">Print<spanのp">(<spanのs">$"Source: {args.Source} | Message: {args.Message}"<spanのp">);
         <spanのp">}
         <spanのk">private <spanのk">void <spanのnf">OnWebViewNavigationCompleted<spanのp">(<spanのn">WebViewNavigationCompletedEventArgs <spanのn">args<spanのp">)
         <spanのp">{
             <spanのn">Print<spanのp">(<spanのs">$"{args.HttpStatusCode} | {args.IsSuccessful} | {args.Url}"<spanのp">);
             <spanのn">_addressTextBox<spanのp">.<spanのn">Text <spanのo">= <spanのn">args<spanのp">.<spanのn">Url<spanのp">;
             <spanのn">_scriptTextBox<spanのp">.<spanのn">IsEnabled <spanのo">= <spanのk">true<spanのp">;
             <spanのn">_executeScriptButton<spanのp">.<spanのn">IsEnabled <spanのo">= <spanのk">true<spanのp">;
         <spanのp">}
     <spanのp">}
 <spanのp">}

メソッド

概要

他のURLに非同期で移動します。

シグネチャ

1
public void NavigateAsync<spanのp">(<spanのkt">string <spanのn">url<spanのp">)

 

パラメーター

名前タイプ説明
urlstringターゲットURL

戻り値

void

概要

HTMLコンテンツをソースHTMLとして新しいドキュメントに非同期で移動します。

シグネチャ

1
public <spanのk">void <spanのnf">NavigateToStringAsync<spanのp">(<spanのkt">string <spanのn">html<spanのp">)

 

パラメーター

名前タイプ説明
htmlstringHTMLコンテンツ

戻り値

void

GoBackAsync

概要

WebViewのナビゲーション履歴で前のページに非同期で移動します。

シグネチャ

1
public <spanのk">void <spanのnf">GoBackAsync<spanのp">()

 

戻り値

void

GoForwardAsync

概要

WebViewのナビゲーション履歴で次のページに非同期で移動します。

シグネチャ

<spanのnormal">1
public <spanのk">void <spanのnf">GoForwardAsync<spanのp">()

 

戻り値

void

ReloadAsync

概要

現在のページを非同期でリロードします。

シグネチャ

<spanのnormal">1
<spanのk">public <spanのk">void <spanのnf">ReloadAsync<spanのp">()

 

戻り値

void

StopAsync

概要

すべてのナビゲーションと保留中のリソースフェッチを非同期で停止します。

シグネチャ

<spanのnormal">1
<spanのk">public <spanのk">void <spanのnf">StopAsync<spanのp">()

 

戻り値

void

ExecuteScript

概要

WebViewにレンダリングされた現在の最上位ドキュメントで、javaScriptパラメータからJavaScriptコードを実行し、その結果を返します。このメソッドは、コントロールが完全にロードされ、ナビゲーションが完了した後にのみ使用できます。

シグネチャ

<spanのnormal">1
<spanのk">public <spanのn">ExecuteScriptResult <spanのnf">ExecuteScript<spanのp">(<spanのkt">string <spanのn">javaScript<spanのp">)

 

パラメーター

名前タイプ説明
javaScriptstringJavaScriptコード

戻り値

ExecuteScriptResult

ExecuteScriptAsync (2)

ExecuteScriptAsync (1の2)

概要

WebViewにレンダリングされた現在の最上位ドキュメントで、javaScriptパラメータからJavaScriptコードを非同期に実行します。このメソッドは、コントロールが完全にロードされ、ナビゲーションが完了した後にのみ使用できます。

シグネチャ

<spanのnormal">1
<spanのk">public <spanのk">void <spanのnf">ExecuteScriptAsync<spanのp">(<spanのkt">string <spanのn">javaScript<spanのp">)

 

パラメーター

名前タイプ説明
javaScriptstringJavaScriptコード

戻り値

void

ExecuteScriptAsync (2の2)

概要

WebViewにレンダリングされた現在の最上位ドキュメントで、javaScriptパラメータからJavaScriptコードを非同期に実行します。このメソッドは、コントロールが完全にロードされ、ナビゲーションが完了した後にのみ使用できます。

シグネチャ

<spanのnormal">1

<tdのcode”>

<spanのk">public <spanのk">void <spanのnf">ExecuteScriptAsync<spanのp">(<spanのkt">string <spanのn">javaScript<spanのp">, <spanのn">Action<spanのo"><<spanのn">ExecuteScriptResult<spanのo">> <spanのn">callback<spanのp">)

 

パラメーター

名前タイプ説明
javaScriptstringJavaScriptコード
callbackAction実行終了後に呼び出されるコールバック

戻り値

void

プロパティ

DefaultBackgroundColor

概要

WebViewのデフォルトの背景色です。

シグネチャ

<tdのlinenos”>

<spanのnormal">1

<tdのcode”>

<spanのk">public <spanのn">Color <spanのn">DefaultBackgroundColor <spanのp">{<spanのk">get<spanのp">; <spanのk">set<spanのp">;}

 

戻り値

Color

IsLoaded

概要

WebViewがロードされている場合はTrueを返し、それ以外の場合はFalseを返します。

シグネチャ

<divのhighlight”>

<tdのlinenos”>

<spanのnormal">1

<tdのcode”>

<spanのk">public <spanのkt">bool <spanのn">IsLoaded <spanのp">{<spanのk">get<spanのp">;}

 

戻り値

bool

イベント

概要

ページのナビゲーションが完了したときに発生します。

シグネチャ

<divのhighlight”>

<tdのlinenos”> <divのlinenodiv”><spanのnormal”>1<tdのcode”>

<spanのk">public <spanのk">event <spanのn">Action<spanのo"><<spanのn">WebViewNavigationCompletedEventArgs<spanのo">> <spanのn">NavigationCompleted<spanのp">;}

 

WebMessageReceived

概要

Webコンテンツがメッセージを送信した後に発生します

シグネチャ

<divのhighlight”>

<tdのlinenos”> <divのlinenodiv”><spanのnormal”>1<tdのcode”>

<spanのk">public <spanのk">event <spanのn">Action<spanのo"><<spanのn">WebViewWebMessageReceivedEventArgs<spanのo">> <spanのn">WebMessageReceived<spanのp">;}

 

Loaded

概要

WebViewがロードされた後に発生します

シグネチャ

<divのhighlight”>

<tdのlinenos”> <divのlinenodiv”><spanのnormal”>1<tdのcode”>

<spanのk">public <spanのk">event <spanのn">Action<spanのo"><<spanのn">WebViewLoadedEventArgs<spanのo">> <spanのn">Loaded<spanのp">;}

 

Unloaded

概要

WebViewがアンロードされた後に発生します

シグネチャ

<divのhighlight”>

<tdのlinenos”> <divのlinenodiv”><spanのnormal”>1<tdのcode”>

<spanのk">public <spanのk">event <spanのn">Action<spanのo"><<spanのn">WebViewUnloadedEventArgs<spanのo">> <spanのn">Unloaded<spanのp">;}

 

  • WebView
目次

このページについて