|
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace Technewlogic.WpfDialogManagement
{
class DialogLayeringHelper : IDialogHost
{
public DialogLayeringHelper(ContentControl parent)
{
_parent = parent;
}
private readonly ContentControl _parent;
private readonly List<object> _layerStack = new List<object>();
public bool HasDialogLayers { get { return _layerStack.Any(); } }
#region Implementation of IDialogHost
public void ShowDialog(DialogBaseControl dialog)
{
_layerStack.Add(_parent.Content);
_parent.Content = dialog;
}
public void HideDialog(DialogBaseControl dialog)
{
if (_parent.Content == dialog)
{
var oldContent = _layerStack.Last();
_layerStack.Remove(oldContent);
_parent.Content = oldContent;
}
else
_layerStack.Remove(dialog);
}
public FrameworkElement GetCurrentContent()
{
return _parent;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.