如何在10秒后重定向到新的WPF Window
?我正在尝试将Windows.Hide()
用于当前Window
,将Windows.Show()
用于另一个Window
但是这不起作用。
答案 0 :(得分:3)
我用了一个计时器:
public partial class MainWindow : Window
{
System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
public MainWindow()
{
InitializeComponent();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
dispatcherTimer.Start();
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
Window1 w = new Window1();
this.Hide();
w.Show();
dispatcherTimer.Stop();
}
}
答案 1 :(得分:2)
您的MainWindow没有机会完成其构建。您可以将代码更改为此类似的内容......
public MainWindow()
{
InitializeComponent();
Loaded += MainWindowLoaded;
}
void MainWindowLoaded(object sender, RoutedEventArgs e)
{
Loaded -= MainWindowLoaded;
Window1 window1 = new Window1();
window1.Dispatcher.BeginInvoke((SendOrPostCallback) delegate
{
Thread.Sleep(3000);
Hide();
window1.Show();
}, new object[] {null});
}
这让第一个窗口完成它的构造。