private void hypothesisView_Tapped(object sender, TappedRoutedEventArgs e) { HypothesisView view = (HypothesisView)sender; var hypo = (HypothesisViewModel)view.DataContext; if (hypo.IsExpanded) { hypo.TargetSize = new Vec(HypothesisViewModel.DefaultSize, HypothesisViewModel.DefaultSize); } else { hypo.TargetSize = new Vec(HypothesisViewModel.ExpandedWidth, HypothesisViewModel.ExpandedHeigth); } hypo.IsExpanded = !hypo.IsExpanded; updateRendering(); }
private void HypothesisViewModels_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.OldItems != null) { foreach (var item in e.OldItems) { var hypo = (HypothesisViewModel)item; hypo.PropertyChanged -= Hypo_PropertyChanged; if (_views.ContainsKey(hypo)) { _contentCanvas.Children.Remove(_views[hypo]); _views[hypo].Tapped += hypothesisView_Tapped; _views.Remove(hypo); } } } if (e.NewItems != null) { foreach (var item in e.NewItems) { var hypo = (HypothesisViewModel)item; hypo.PropertyChanged += Hypo_PropertyChanged; hypo.Position = new Pt(this.ActualWidth, this.ActualHeight + hypo.Size.Y); var v = new HypothesisView(); v.DataContext = hypo; _views.Add(hypo, v); _contentCanvas.Children.Add(v); v.Opacity = 0; v.Tapped += hypothesisView_Tapped; hypo.IsDisplayed = true; toggleDisplayed(hypo); } } _lastVisibleIndex = ((IEnumerable <HypothesisViewModel>)sender).Count() - 1; updateRendering(); }