首页 / C# / c# – WPF更改窗口模态状态
c# – WPF更改窗口模态状态
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – WPF更改窗口模态状态,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1169字,纯文字阅读大概需要2分钟。
内容图文
在WPF中,是否可以将窗口从模态更改为非模态?这意味着,我打开窗口… ShowDialog();,但后来想切换状态(比如打开窗口…… Show();.
解决方法:
假设您想要从“主”窗口将窗口切换到非模态,您可以执行类似这样的操作,使得Window1在5秒后变为非模态.
这种方法的缺点是对话框会闪烁.
private Window1 myWindow = new Window1();
private void MyButton_Click(object sender, RoutedEventArgs e)
{
// Using a timer to simulate something happening 5 seconds later that would cause dialog state to change
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
dispatcherTimer.Start();
// The following line will block until you switch the dialog from modal to non-modal
myWindow.ShowDialog();
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
(sender as DispatcherTimer).Stop();
myWindow.Hide();
myWindow.Show();
}
如果你想要从窗口本身将窗口切换到非模态,那么调用Hide()后跟Show()将完成同样的事情(再次使用闪烁)
private void SwitchToModelessButton_Click(object sender, RoutedEventArgs e)
{
this.Hide();
this.Show();
}
值得注意的是,当您进行此切换时,将对ShowDialog()的“主”窗口调用返回.
内容总结
以上是互联网集市为您收集整理的c# – WPF更改窗口模态状态全部内容,希望文章能够帮你解决c# – WPF更改窗口模态状态所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。