private static void ViewPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     //Unfortunately the Parent property doesn't signal a change
     //However when the renderer is set it should have it's parent
     if (e.PropertyName == "Renderer")
     {
         var view    = sender as View;
         var gcv     = FindContentViewParent(view);
         var pending = PendingInterestParameters.Where(x => x.View == view).ToList();
         foreach (var pendingparam in pending)
         {
             gcv.RegisterInterests(view, pendingparam.Interests);
             PendingInterestParameters.Remove(pendingparam);
         }
         view.PropertyChanged -= ViewPropertyChanged;
     }
 }
Beispiel #2
0
        private static void InterestsChanged(BindableObject bo, GestureCollection oldvalue, GestureCollection newvalue)
        {
            var view = bo as View;
            //if (view == null)
            //  throw new InvalidBindableException(bo, typeof(View));

            var gcv = FindContentViewParent(view, false);

            if (gcv == null)
            {
                PendingInterestParameters.Add(new PendingInterestParams {
                    View = view, Interests = newvalue
                });
                view.PropertyChanged += ViewPropertyChanged;
            }
            else
            {
                gcv.RegisterInterests(view, newvalue);
            }
        }