2010-11-25 11 views
3

私はC#を使用してWPFでCanvasの背景としてWebBrowserコントロールを追加するのが好きです。これはどうすればいいですか?私は今、次のコードを持っています。しかし、動作しません。WebBrowser as Canvas Background

<Canvas 
    Name="canvas" 
    Grid.ColumnSpan="4" 
    Grid.Row="1" 
    MouseDown="Canvas_MouseDown" 
    MouseMove="Canvas_MouseMove" 
    MouseUp="Canvas_MouseUp" 
    Margin="0,0,0,16" 
    Grid.RowSpan="3"> 
    <Canvas.Background> 
    <VisualBrush> 
     <VisualBrush.Visual> 
     <WebBrowser 
      x:Name="wbMain" 
      Height="246" 
      Width="592" /> 
     </VisualBrush.Visual> 
    </VisualBrush> 
    </Canvas.Background> 
</Canvas> 
+0

コードはどこにありますか? – Darbio

答えて

0

私の知る限り、WebBrowserコントロールは標準のWPFコントロールではありません。これは基本的にはIEコントロール付きの組み込みウィンドウです。私はかなりあなたがこの方法でそれを使用することはできないと確信しています。

+0

私はもちろん間違っているかもしれません;) –

0

これは埋め込みIEウィンドウなので、このように使用することはできません。

ただし、途中クロムいずれかを使用することができます:あなたはこれを行うことはできませんなどあなたはまた、それをアニメーション化、表面にマッピングすることができますhttp://chriscavanagh.wordpress.com/2009/08/25/a-real-wpf-webbrowser/

+0

これはC#のjavascriptやjavascriptメソッドからもC#メソッドを呼び出すことができますか? – jiga

+0

申し訳ありませんが、いずれかを試していません。 – SteveCav

1

を。 Webブラウザコントロールは、Internet ExplorerのActiveXラッパーであり、結果として空領域の問題が発生します。

ただし、コントロールの<Popup>を使用して上に描画することも、インタラクティブ性を失うことも気にしない場合は、ウェブページの画像を生成してキャンバスの背景として使用してみてください。

あなたは心の中で、クマをWPF Chrome wrapper by Chris Cavanaghを使用して考えている場合は、次の

  • それはまだ
  • は、それが依存しているCOM-可視(そうなしwindow.external戻ってあなたのC#コードにjavascriptのメソッド)をサポートしていません。 Awesomiumに掲載されています。これは、非商用目的でのみ無料です。
  • クロムを埋め込む必要があるため、コードサイズに10MB以上を追加します
+0

上記の答えは本当に古く、WPFでこれを解決したと思います。 –