WPF主窗口显示
我需要完成这样的一个功能,程序在运行期间时刻检测一个值的变化,当这个值变化后,立即将主窗口进行运行,用户可以进行操作。
目前做的demo是这样的,来证明这个方法的可行性。我写了一个主窗口,当这个窗口最小化五秒后,又在屏幕上可见。
public partial class MainWindow : Window
{
private DispatcherTimer timer;
public MainWindow()
{
InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(5);
timer.Tick += Timer_Tick;
}
private void Window_StateChanged(object sender, EventArgs e)
{
if (WindowState == WindowState.Minimized)
{
timer.Start();
}
}
private void Timer_Tick(object sender, EventArgs e)
{
timer.Stop();
WindowState = WindowState.Normal;
Activate(); // bring window to front
}
}
不过要注意的是,Window_StateChanged这个方法得引用。我们可以在Mainwindow.cs.xaml中加上这样的一句。
StateChanged="Window_StateChanged"
这样我们这个功能就完成了,我在使用了一个计时器,在窗口最小化的时候,我们开启计时器,当计时器计时到五秒后,
计时器停止,窗口进行一个恢复并运行。