public static PropertyReference ResolvePropertyPath(ITypeResolver typeResolver, IViewObject propertyPath, SceneNode pathRoot) { if (propertyPath == null) { return((PropertyReference)null); } string path = (string)propertyPath.GetCurrentValue(typeResolver.ResolveProperty(typeResolver.PlatformMetadata.KnownProperties.PropertyPathPath)); if (path == null) { return((PropertyReference)null); } IProperty propertyKey = typeResolver.ResolveProperty(typeResolver.PlatformMetadata.KnownProperties.PropertyPathPathParameters); Collection <object> parameters = propertyKey == null ? new Collection <object>() : (Collection <object>)propertyPath.GetCurrentValue(propertyKey); return(TimelineSceneNode.ResolvePropertyPathParts(typeResolver, path, parameters, pathRoot)); }