(я решил оставить предыдущий ответ, если кому-то это нужно)
Если вы хотите оставить предыдущую страницу видимой, пока не появится новая, тогда, я думаю, вам нужна Windows DLL. Вот как бы я это сделал.
В верхней части файла кода вставьте эти два оператора импорта:
using System.Runtime.InteropServices;
using System.Windows.Interop;
Затем вам нужно объявить свою функцию DLL следующим образом (в классе Window):
[DllImport("user32")]
private static extern int LockWindowUpdate (IntPtr hWnd);
Тогда давайте немного изменим код в предыдущем ответе:
private void button1_Click(object sender, RoutedEventArgs e)
{
IntPtr handle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
LockWindowUpdate(handle);
webBrowser1.Navigate(new Uri("http://www.google.it"));
}
private void webBrowser1_DocumentCompleted(object sender, NavigationEventArgs e)
{
LockWindowUpdate(new IntPtr(0));
}
Это должно держать последнюю загруженную страницу на экране до тех пор, пока новая страница не закончит рендеринг; как вы можете себе представить, функция DLL просто блокирует обновление окна, передавая его дескриптор. Ручка 0 открывает его.