2011-12-15 20 views
1

私は、そのビューの1つにWebブラウザを持つWPFアプリケーションに取り組んでいます。私はアプリケーションを実行すると、それは正常に動作しますが、Webブラウザコントロールが自分のwpf領域の上に座っています。私はこれがAirSpaceの問題と関係していることを知っています。それを乗り越える方法はありますか?どんな助けもありがとう。空域問題のないWPFアプリケーションのWebブラウザコントロール?

おかげ

答えて

0

これはNeerajの柱として、既知の問題です。しかし、WPF 4.5ではこれが解決されているようですので、ベータ版を使用しても構わない場合は、download Visual Studio 11にしてください。

1

問題はWPF 4.5では解決されませんでした。 netにいくつかの情報がありましたが、以下のプロパティはWebブラウザコントロールの4.5バージョンで利用可能ですが、計画は削除されました。だからあなたは自分で空域の問題を処理する必要があります。

WebBrowser.CompositionMode = System.Windows.Interop.CompositionMode.Full; WebBrowser.IsRedirected = true;

回避策は、Webブラウザコントロールの前に他のコントロールがある場合、Webブラウザコントロールの高さをゼロにすることです。

以下のサンプルコードを検索し、

は、あなたがメインウィンドウでWebブラウザコントロールを持っている、と仮定します。あなたがいくつかのアクションを実行すると、例えば、MainWindowの上に来る別のユーザコントロールを持っているボタンをクリックします。しかし、Airspaceの問題のために、Webブラウザは親コントロールに置かれず、コントロールの上に置かれます。

FIX: 標準の修正では、シナリオに応じて他のコントロールをトリガするときに、Webブラウザの高さをゼロに設定できます。以下に、サンプル実装があります。

MainWindow.Xamlにはイベントが含まれています。

Activated="Window_Activated" 
Deactivated="Window_Deactivated" 

Xaml.csでは、高さを設定してシナリオを処理します。

private void Window_Activated(object sender, EventArgs e) 
{ 
    wb.Height = double.NaN; 
} 

private void Window_Deactivated(object sender, EventArgs e) 
{ 
    wb.Height = 0; 
} 
関連する問題