public override void Dispose()
 {
     UserCredentialManager.Instance.SetCredentialHandler(null);
     if (this._inputDialog != null)
     {
         this._inputDialog.Dispose();
         this._inputDialog = null;
     }
     base.Dispose();
 }
 private void ShowDialog(object args)
 {
     if (!Application.IsApplicationThread || !(args is UserCredentialRequestArguments))
     {
         return;
     }
     if (this._inputDialog != null)
     {
         this._inputDialog.Dispose();
         this._inputDialog = null;
     }
     this._credentials = (UserCredentialRequestArguments)args;
     this._inputDialog = new ProxySignIn(this._credentials, new EventHandler(OnDialogSignIn), new EventHandler(OnDialogCanceled));
     this._inputDialog.Show();
     this._lastUIPathPrompted = ZuneShell.DefaultInstance.CurrentPage.UIPath;
 }