我需要一些帮助,让ShowDialog不止一次出现,就像在这种情况下2x而没有得到错误,如下所示:无法设置Visibility或在Window关闭后调用Show,ShowDialog或WindowInteropHelper.EnsureHandle。任何帮助表示赞赏。
namespace Application
{
public partial class App : Application
{
int count = 0;
int logonAgreements = 2;
while (count < logonAgreements)
{
DialogResult = lf2.ShowDialog(logonAgreements, count + 1);
if (DialogResult == true)
{
count++;
}
else if (DialogResult == false)
{
Close();
}
}
public DialogResult ShowDialog(int numCustomer, int currentCustomerIndex)
{
this.labelPanelHeader.Content = "Log-On Agreement" + " (" + currentCustomerIndex + " of " + numCustomer + ")";
return this.ShowDialog();
}
}
}
答案 0 :(得分:-1)
由于部分资源已被处置,因此您无法在关闭它后重复使用它。
相反,在Closing事件上,取消关闭,并将可见性设置为隐藏。 一旦您希望再次显示它,请将其设置为可见。
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
this.Visibility = Visibility.Hidden;
}