示例#1
0
        // Token: 0x060048D9 RID: 18649 RVA: 0x0014AA20 File Offset: 0x00148C20
        public static object GetCoercedTransferPropertyValue(DependencyObject baseObject, object baseValue, DependencyProperty baseProperty, DependencyObject parentObject, DependencyProperty parentProperty, DependencyObject grandParentObject, DependencyProperty grandParentProperty)
        {
            object result = baseValue;

            if (DataGridHelper.IsPropertyTransferEnabled(baseObject, baseProperty))
            {
                BaseValueSource baseValueSource = DependencyPropertyHelper.GetValueSource(baseObject, baseProperty).BaseValueSource;
                if (parentObject != null)
                {
                    ValueSource valueSource = DependencyPropertyHelper.GetValueSource(parentObject, parentProperty);
                    if (valueSource.BaseValueSource > baseValueSource)
                    {
                        result          = parentObject.GetValue(parentProperty);
                        baseValueSource = valueSource.BaseValueSource;
                    }
                }
                if (grandParentObject != null)
                {
                    ValueSource valueSource2 = DependencyPropertyHelper.GetValueSource(grandParentObject, grandParentProperty);
                    if (valueSource2.BaseValueSource > baseValueSource)
                    {
                        result          = grandParentObject.GetValue(grandParentProperty);
                        baseValueSource = valueSource2.BaseValueSource;
                    }
                }
            }
            return(result);
        }