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();
}
}