C# 是否使用.show()在WPF中打开一个新窗口?

C# 是否使用.show()在WPF中打开一个新窗口?,c#,wpf,C#,Wpf,这似乎是可能的 使用pd=newprogressdialog()之后,此时会出现新窗口 他们是如何做到的?让我们先定义下一个实例: BackgroundWorker worker; ProgressDialog pd; 然后通过单击处理程序中的ShowDialog()方法显示表单: private void btnReportProgress_Click(object sender, RoutedEventArgs e) { int maxRecords = 1000; pd

这似乎是可能的

使用
pd=newprogressdialog()之后,此时会出现新窗口


他们是如何做到的?

让我们先定义下一个实例:

BackgroundWorker worker;
ProgressDialog pd;
然后通过单击处理程序中的
ShowDialog()
方法显示表单:

private void btnReportProgress_Click(object sender, RoutedEventArgs e)
{
    int maxRecords = 1000;
    pd = new ProgressDialog();
    // doing something more...
    pd.ShowDialog();
}
ProgressDialog.xaml.cs
类可以具有其他属性:

public string ProgressText
public int ProgressValue

pd.ShowDialog()是btnReportProgress\u Click函数的最后一行。它显示模式对话框,在工作线程完成时关闭,请参阅worker.RunWorkerCompleted事件订阅。

可能他们在
ProgressDialog
类的构造函数中调用
this.Show()

。。我们可以说.Show()表示两个窗口是独立的,而.ShowDialog()表示子窗口依赖于父窗口吗?@yeeen是的。例如,可以将属性WindowsStartupLocation ProgressDialog表单设置为CenterOwner。然后ProgressDialog将在父窗口的中心启动。