예제 #1
0
 public override object GetValue(PropertyReference propertyReference, PropertyReference.GetValueFlags getValueFlags)
 {
     if ((getValueFlags & PropertyReference.GetValueFlags.Computed) != PropertyReference.GetValueFlags.Local)
     {
         return(propertyReference.GetCurrentValue(this.localValue));
     }
     return(propertyReference.GetBaseValue(this.localValue));
 }
예제 #2
0
        protected override object GetComputedValueInternal(PropertyReference propertyReference)
        {
            PropertyReference propertyReference1 = this.GetMediaTimelinePropertyReference(propertyReference);

            if (propertyReference1 != null)
            {
                MediaTimelineSceneNode owningTimeline = this.OwningTimeline;
                if (owningTimeline != null)
                {
                    ViewState viewState = ViewState.ElementValid | ViewState.AncestorValid | ViewState.SubtreeValid;
                    if (!owningTimeline.ViewModel.DefaultView.IsValid || (owningTimeline.ViewModel.DefaultView.GetViewState((SceneNode)owningTimeline) & viewState) != viewState || propertyReference1.LastStep == MediaTimelineSceneNode.SourceProperty)
                    {
                        return(owningTimeline.GetLocalOrDefaultValue(propertyReference1));
                    }
                    IViewObject viewObject = owningTimeline.ViewModel.GetViewObject(owningTimeline.DocumentNodePath);
                    propertyReference = DesignTimeProperties.GetAppliedShadowPropertyReference(propertyReference, (ITypeId)owningTimeline.TargetElement.Type);
                    return(propertyReference1.GetCurrentValue(viewObject.PlatformSpecificObject));
                }
            }
            return(base.GetComputedValueInternal(propertyReference));
        }
예제 #3
0
 public object GetCurrentValue(PropertyReference propertyReference)
 {
     return(propertyReference.GetCurrentValue(this.viewObject));
 }