C# 如何在WPF中不打开多个窗口
在我的WPF应用程序中,我使用以下代码从按钮打开新窗口:C# 如何在WPF中不打开多个窗口,c#,wpf,button,dialog,C#,Wpf,Button,Dialog,在我的WPF应用程序中,我使用以下代码从按钮打开新窗口: private void LoginBtn_Click(object sender, RoutedEventArgs e) { LoginDialog dialog = new LoginDialog(); dialog.Show(); } 但是当已经有一个LoginDialog打开时,我再次单击LoginBtn,它会打开一个新的LoginDialog窗口。如何对其进行编码,使其覆盖上一个打开的变量(如果有)。您
private void LoginBtn_Click(object sender, RoutedEventArgs e)
{
LoginDialog dialog = new LoginDialog();
dialog.Show();
}
但是当已经有一个LoginDialog打开时,我再次单击LoginBtn,它会打开一个新的LoginDialog窗口。如何对其进行编码,使其覆盖上一个打开的变量(如果有)。您可以创建Login dialog类型的局部变量,并检查其是否为null
LoginDialog _dialog;
private void LoginBtn_Click(object sender, RoutedEventArgs e)
{
if(_dialog == null)
{
_dialog = new LoginDialog();
}
_dialog.Show();
}
您可以创建Login dialog类型的局部变量,并检查其是否为null
LoginDialog _dialog;
private void LoginBtn_Click(object sender, RoutedEventArgs e)
{
if(_dialog == null)
{
_dialog = new LoginDialog();
}
_dialog.Show();
}
使用ShowDialog()
而不是Show()
使对话框成为模态(这样,当对话框打开时,您就不能执行任何其他操作)
这还允许您获取返回值,指示用户(即)是按了cancel还是ok 使用ShowDialog()
而不是Show()
使对话框成为模态(这样,当对话框打开时,您就不能执行任何其他操作)
这还允许您获取返回值,指示用户(即)是按了cancel还是ok 由于设计限制,您可能无法使用此窗口,但是您可以打开新窗口,以便禁用其他窗口
private void LoginBtn_Click(object sender, RoutedEventArgs e)
{
LoginDialog dialog = new LoginDialog();
dialog.ShowDialog();
}
由于设计限制,您可能无法使用此窗口,但是您可以打开新窗口,使其禁用其他窗口
private void LoginBtn_Click(object sender, RoutedEventArgs e)
{
LoginDialog dialog = new LoginDialog();
dialog.ShowDialog();
}
private void LoginBtn\u单击(对象发送者,路由目标)
{
LoginDialog\u dialog=Application.Current.Windows.OfType().FirstOrDefault()??new LoginDialog();
_dialog.Show();
}
私有无效登录单击(对象发送者,路由目标e)
{
LoginDialog\u dialog=Application.Current.Windows.OfType().FirstOrDefault()??new LoginDialog();
_dialog.Show();
}
Hi@PMF。我已经想到了这个解决方案,但是当这个窗口打开时,我必须能够使用我的主窗口。我已经想到了这个解决方案,但是当这个窗口打开时,我必须能够使用我的主窗口。没错,因此我提到,由于设计限制,它可能无法使用,但是我不知道他希望他的程序做什么…如果他想再次单击,他肯定希望访问,不是吗?他没有说,但他说目前这是可能的谢谢你们的责任,但我需要能够在当前窗口打开时使用我的主窗口。参见op对PMF的ans的评论,他明确地提出了同样的建议,因此,我提到,由于设计限制,它可能无法使用,但我不知道他希望他的程序做什么…如果他想再次单击,他肯定希望访问,不是吗?他没有说,但他说目前这是可能的。我感谢你们的责任,但是,当当前窗口打开时,我需要能够使用我的主窗口。请参阅op对PMF的ans的评论,他建议了相同的内容小更改:'='到'='小更改:'='到'='