窗口关闭后Wpf重用窗口C#

时间:2015-10-23 00:16:43

标签: c# wpf window show showdialog

我需要一些帮助,让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();
        }

    }

}

1 个答案:

答案 0 :(得分:-1)

由于部分资源已被处置,因此您无法在关闭它后重复使用它。

相反,在Closing事件上,取消关闭,并将可见性设置为隐藏。 一旦您希望再次显示它,请将其设置为可见。

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        e.Cancel = true;
        this.Visibility = Visibility.Hidden;
    }