我正在研究一個WPF應用程序,它的一個視圖中有Web瀏覽器。當我運行應用程序時,它工作正常,但Web瀏覽器控件位於我的wpf區域之上。我知道這與AirSpace問題有關。有沒有什麼辦法可以克服它?任何幫助將不勝感激。WPF應用程序中的Web瀏覽器控件沒有空域問題?
感謝
我正在研究一個WPF應用程序,它的一個視圖中有Web瀏覽器。當我運行應用程序時,它工作正常,但Web瀏覽器控件位於我的wpf區域之上。我知道這與AirSpace問題有關。有沒有什麼辦法可以克服它?任何幫助將不勝感激。WPF應用程序中的Web瀏覽器控件沒有空域問題?
感謝
這是一個已知的問題,因爲Neeraj職位。但與WPF 4.5這似乎解決了,所以如果你不介意使用測試版本,你應該download Visual Studio 11。
這個問題在WPF 4.5中沒有解決。 網絡中有一些信息,下面提到的屬性可以在4.5版本的Web瀏覽器控件中使用,但是該計劃已經被刪除。所以你需要自己處理空域問題。
WebBrowser.CompositionMode = System.Windows.Interop.CompositionMode.Full; WebBrowser.IsRedirected = true;
您可以做的解決方法是將Web瀏覽器控件的高度設置爲零,當其他控件出現在Web瀏覽器控件的前面時。
找到示例下面的代碼,
假設,你在主窗口的web瀏覽器控件。當你執行一些動作時,例如:點擊一個按鈕,你有另一個用戶控件,它位於MainWindow之上。但是,由於空域問題,網絡瀏覽器不在其父控制中,而是處於您的控制之上。
FIX: 標準修正是你可以設置網頁瀏覽器的高度爲零,當你觸發一些其他控制它取決於你的情況。下面是一個示例實現。
在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;
}