私には、Webブラウザコントロールが組み込まれたWPFアプリケーションがあります。ある時点でWebブラウザでアニメーションを表示したいのですが、問題はWPFコントロールがWebブラウザ上に保持されているときに表示されないことです。WebブラウザでWPFを制御します。
Webブラウザでユーザーコントロールを表示する方法はありますか?
私には、Webブラウザコントロールが組み込まれたWPFアプリケーションがあります。ある時点でWebブラウザでアニメーションを表示したいのですが、問題はWPFコントロールがWebブラウザ上に保持されているときに表示されないことです。WebブラウザでWPFを制御します。
Webブラウザでユーザーコントロールを表示する方法はありますか?
これは最初に私に答えてください、
このWebブラウザはWinFormHost
でホストWPF Web Browser
ControlまたはWinform
ウェブブラウザコントロールを制御していますか?その上にアニメーションを表示するには任意のWPFコントロールのために
、あなたが
Grid
かCanvas
であなたのコントロールを配置して、最後として(それにアニメーションを実行しています)伸びBorder
を置く...探検でしたグリッド/キャンバスの子ですか?Adorner
アニメーションをシミュレートするために図面コンテキストが絶えず変更されていますか?Popup
(コントロールの絶対左、上の位置と実際の高さにバインドされた)のアニメーションは、コントロール上で&の幅のプロパティですか? Webブラウザ制御用の透明ポップアップのアプローチを試してみてください ...これらの
<Grid>
<WebBrowser x:Name="WebBrowser1"/>
<Popup IsOpen="{Binding StartAninmation}"
AllowsTransparency="True"
Grid.RowSpan="99"
Grid.ColumnSpan="99"
Placement="Center"
Width="{Binding ActualWidth,
ElementName=WebBrowser1,
Mode=OneWay}"
Height="{Binding ActualHeight,
ElementName=WebBrowser1,
Mode=OneWay}"
PlacementTarget="{Binding ElementName=WebBrowser1}"
Opacity="0.5"
Margin="3">
<TextBlock Text="Loading ..."/>
</Popup>
</Grid>
一つは、きっとあなたのケースで動作します。 (:私はCefSharpのメンテナ午前免責事項)
残念ながら、OSがWinFormsおよびWPFコンテンツをレンダリングする順序のために残念ながら、WPF Webbrowserコントロール(これは基本的にはWinForms WebBrowserコントロールがラップされています)では不可能です。
も参照してください: Is there a way to render WPF controls on top of the wpf WebBrowser control?
ことを可能にする必要があるサードパーティ製のアプリAwsomiumがあります。
編集: WebBrowserコントロールの上にフレームなしウィンドウをレンダリングすることもできます。しかし、それを正しい位置/ zオーダーに保つのはちょっと難しいことです。
CefSharpは、Microsoft WebBrowserコントロールの空域の問題を受けないクロム/ V8に基づいて、純粋なWPFブラウザcontorlを提供します。
ビルドすることは不可能です。 –
ビルドする必要はありません。バイナリリリースを使用することができます:https://github.com/ataranto/CefSharp/downloads – anthony
アンソニー、どのようにbtwを構築することは不可能ですか? :)私はVS2012で試したところ、失敗しました。私はchillitomの支店とあなたの両方と一緒に試みました。外部参照の負荷について不平を言う。 –
WPF Webブラウザコントロールは、技術的にラップされたWinForms WebBrowserコントロールであるため、常にWPFレイヤーの上にあるWinFormsレイヤーにレンダリングされます。 アドレナとポップアップは動作しません:( – SvenG
私は覚えている限り、透明な 'Popup'を成功裏に使用しました。 –
+1、この正確な要件のために透明なポップアップを使用しても。 –