internal void Show(DialogControl dialog)
{
if (dialog.Container != null && dialog.Container != this) { throw new ArgumentException("This dialog already has a container.", "dialog"); }
if (Content == dialog) { return; }
lock (_openLock)
{
if (dialog.Container != null)
{
// already somewhere in this stack
_openDialogs.Remove(dialog);
}
_openDialogs.Add(dialog);
ShowMostRecentDialogIfNecessary();
}
}
/// <summary> /// Shows the dialog on a <see cref="DialogControlContainer"/>. /// </summary> /// <param name="container">The container.</param> /// <exception cref="System.ArgumentNullException">container</exception> public virtual void ShowDialog(DialogControlContainer container) { if (container == null) { throw new ArgumentNullException("container"); } container.Show(this); _isOpen = true; _diaglogResult = null; }