public int AddCrumb(ICrumb crumb) { if (crumb == null) { throw new ArgumentNullException("Crumb"); } Crumbs.Add(crumb); AddViewToRegion(crumb.Content); return(Crumbs.Count); }
public int SetCrumbDescription(string description) { if (Crumbs.Count < 1) { return(-1); } ICrumb crumb = Crumbs.ElementAt <ICrumb>(Crumbs.Count - 1); crumb.Description = description; return(Crumbs.Count); }
private IEnumerable <ICrumb> GetBroadcasters(ICrumb observer) { var result = new List <ICrumb>(); if (observer?.Broadcaster != null) { result.Add(observer.Broadcaster); result.AddRange(GetBroadcasters(observer.Broadcaster)); } return(result); }
public int RemoveCrumb() { if (Crumbs.Count < 1) { return(-1); } Crumbs.RemoveAt(Crumbs.Count - 1); ICrumb crumb = Crumbs.ElementAt <ICrumb>(Crumbs.Count - 1); AddViewToRegion(crumb.Content); return(Crumbs.Count); }
private void OnCrumbAccessed(ICrumb crumb) { IRegion region = this._regionManager.Regions[RegionNames.MainRegion]; var indexInicial = Crumbs.IndexOf(crumb); // Remove na ordem inversa for (int i = (Crumbs.Count - 1); i > indexInicial; i--) { ICrumb c = Crumbs.ElementAt <ICrumb>(i); region.Deactivate(c.Content.View); region.Remove(c.Content.View); Crumbs.RemoveAt(i); } region.Activate(crumb.Content.View); }
public virtual void UnregisterObserver(ICrumb observer) { Observers.Remove(observer); }
public virtual void RegisterObserver(ICrumb observer) { Observers.Add(observer); observer.Broadcaster = this; }