private Boolean IsNeedToShowInternal(ObjectAbstractView view, Dictionary <ObjectAbstractView, Boolean> dic) { Boolean result; if (dic.TryGetValue(view, out result)) { return(result); } if (view.Title.Contains("Yes")) { dic.Add(view, true); return(true); } foreach (ObjectAbstractView child in view.BindableChilds) { if (IsNeedToShowInternal(child, dic)) { dic.Add(view, true); return(true); } } dic.Add(view, false); return(false); }
private Boolean IsNeedToShowInternal(ObjectAbstractView view) { if (view.Title.Contains("Yes")) { return(true); } return(view.BindableChilds.Count > 0); }
public Boolean TryAdd(ObjectMessage message) { lock (_values) { if (_keyToIndex.ContainsKey(message.InstanceId)) { return(false); } ObjectAbstractView item = Wrap(message); Int32 index = _keyToIndex.Count; _keyToIndex.Add(message.InstanceId, index); _values.Add(item); NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new[] { item }, index); RaiseCollectionChanged(args); return(true); } }
public override Int32 IndexOf(Object value) { ObjectAbstractView view = value as ObjectAbstractView; if (view == null) { return(-1); } lock (_values) { Int32 index; if (_keyToIndex.TryGetValue(view.Message.InstanceId, out index)) { return(index); } return(-1); } }
public Boolean IsNeedToShow(ObjectAbstractView view) { return(IsNeedToShowInternal(view)); //return IsNeedToShowStack.GetOrAdd(view, IsNeedToShowInternal); }