using System; using System.Windows; using System.Windows.Controls; namespace Caliburn.Composition { public class PanelProxy : IComposite { protected Panel _panel; #region IComposite Members public object Target { get { return _panel; } set { _panel = value as Panel; } } public int ComponentCount { get { return _panel.Children.Count; } } public void SetVisiblity(Visibility visibility) { _panel.Visibility = visibility; } public void Add(object element) { UIElement uiElement = element as UIElement; if(uiElement != null) _panel.Children.Add(uiElement); } public void Insert(int index, object element) { UIElement uiElement = element as UIElement; if(uiElement != null) _panel.Children.Insert(index, uiElement); } public void Remove(object element) { UIElement uiElement = element as UIElement; if(uiElement != null) _panel.Children.Remove(uiElement); } public IComposite GetNode(string path) { throw new NotSupportedException(); } #endregion } }