私は、そのビューの1つにWebブラウザを持つWPFアプリケーションに取り組んでいます。私はアプリケーションを実行すると、それは正常に動作しますが、Webブラウザコントロールが自分のwpf領域の上に座っています。私はこれがAirSpaceの問題と関係していることを知っています。それを乗り越える方法はありますか?どんな助けもありがとう。空域問題のないWPFアプリケーションのWebブラウザコントロール?
おかげ
私は、そのビューの1つにWebブラウザを持つWPFアプリケーションに取り組んでいます。私はアプリケーションを実行すると、それは正常に動作しますが、Webブラウザコントロールが自分のwpf領域の上に座っています。私はこれがAirSpaceの問題と関係していることを知っています。それを乗り越える方法はありますか?どんな助けもありがとう。空域問題のないWPFアプリケーションのWebブラウザコントロール?
おかげ
これはNeerajの柱として、既知の問題です。しかし、WPF 4.5ではこれが解決されているようですので、ベータ版を使用しても構わない場合は、download Visual Studio 11にしてください。
問題は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;
}