gpt4 book ai didi

wpf - 父窗口后面的 ShowDialog()

转载 作者:行者123 更新时间:2023-12-04 13:33:52 27 4
gpt4 key购买 nike

我正在使用 ShowDialog()WindowStyle = WindowStyle.SingleBorderWindow;在我的 WPF (MVVM) 应用程序中打开一个模式窗口,但它允许我使用 Windows 任务栏 (Windows 7) 导航到父窗口。

我在这里找到了答案:WPF and ShowDialog()但它不适合我,因为我不需要“始终在顶部”工具窗口。

提前致谢

最佳答案

尝试设置 Owner对话框的属性。那应该行得通。

Window dialog = new Window();
dialog.Owner = mainWindow;
dialog.ShowDialog();

编辑:
我在使用 MVVM 时遇到了类似的问题。您可以通过使用委托(delegate)来解决此问题。
public class MainWindowViewModel
{
public delegate void ShowDialogDelegate(string message);
public ShowDialogDelegate ShowDialogCallback;

public void Action()
{
// here you want to show the dialog
ShowDialogDelegate callback = ShowDialogCallback;
if(callback != null)
{
callback("Message");
}
}
}

public class MainWindow
{
public MainWindow()
{
// initialize the ViewModel
MainWindowViewModel viewModel = new MainWindowViewModel();
viewModel.ShowDialogCallback += ShowDialog;
DataContext = viewModel;
}

private void ShowDialog(string message)
{
// show the dialog
}
}

关于wpf - 父窗口后面的 ShowDialog(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855954/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com