Exemplo n.º 1
0
        protected override void OnParentSet()
        {
            if (RealParent != null)
            {
                RealParent.PropertyChanged  += OnParentPropertyChanged;
                RealParent.PropertyChanging += OnParentPropertyChanging;
            }

            base.OnParentSet();

            PropertyPropagationController.PropagatePropertyChanged(null);
        }
Exemplo n.º 2
0
 void OnParentPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     // Technically we might be raising this even if it didn't change, but I'm taking the bet that
     // its uncommon enough that we don't want to take the penalty of N GetValue calls to verify.
     if (e.PropertyName == "RowHeight")
     {
         OnPropertyChanged("RenderHeight");
     }
     else if (e.PropertyName == VisualElement.FlowDirectionProperty.PropertyName ||
              e.PropertyName == VisualElement.VisualProperty.PropertyName)
     {
         PropertyPropagationController.PropagatePropertyChanged(e.PropertyName);
     }
 }
Exemplo n.º 3
0
        protected override void OnPropertyChanging(string propertyName = null)
        {
            if (propertyName == "Parent")
            {
                if (RealParent != null)
                {
                    RealParent.PropertyChanged  -= OnParentPropertyChanged;
                    RealParent.PropertyChanging -= OnParentPropertyChanging;
                }

                PropertyPropagationController.PropagatePropertyChanged(null);
            }

            base.OnPropertyChanging(propertyName);
        }