Lookup() статический приватный Метод

static private Lookup ( IntPtr native ) : DependencyProperty
native IntPtr
Результат DependencyProperty
        internal DependencyPropertyChangedEventArgs(IntPtr raw) : this()
        {
            IntPtr uprop = NativeMethods.property_changed_event_args_get_property(raw);

            Property = DependencyProperty.Lookup(uprop);
            if (Property == null)
            {
                throw new Exception(string.Format("DependencyPropertyChangedEventArgs.ctor: Couldn't find the managed DependencyProperty corresponding with native {0}/{1}", uprop, NativeMethods.property_changed_event_args_get_id(raw)));
            }

            OldValue = Value.ToObject(Property.PropertyType, NativeMethods.property_changed_event_args_get_old_value(raw));
            NewValue = Value.ToObject(Property.PropertyType, NativeMethods.property_changed_event_args_get_new_value(raw));
        }
Пример #2
0
        private static void FlattenTimelines(Storyboard storyboard, Dictionary <TimelineDataToken, Timeline> result)
        {
            if (storyboard == null)
            {
                return;
            }

            storyboard.FlattenTimelines((timeline_ptr, do_ptr, dp_ptr) => {
                var timeline = (Timeline)NativeDependencyObjectHelper.Lookup(timeline_ptr);
                var dep_ob   = (DependencyObject)NativeDependencyObjectHelper.Lookup(do_ptr);
                var dp       = (DependencyProperty)DependencyProperty.Lookup(dp_ptr);
                result [new TimelineDataToken(dep_ob, dp)] = timeline;
            });
        }
Пример #3
0
        void convert_keyframe_value_cb(Kind kind, IntPtr property_ptr, IntPtr original, out Value converted)
        {
            Type type = Deployment.Current.Types.KindToType(kind);

            if (type != null)
            {
                Types.Ensure(type);
            }

            DependencyProperty property = DependencyProperty.Lookup(property_ptr);

            if (property == null)
            {
                Console.WriteLine("Moonlight Error: Property couldn't be looked up");
                converted = Value.Empty;
                return;
            }

            object o = Value.ToObject(null, original);

            if (o == null)
            {
                Console.WriteLine("Moonlight Error: Object was null");
                converted = Value.Empty;
                return;
            }

            o = MoonlightTypeConverter.ConvertObject(property, o, null, true);

            if (o == null)
            {
                Console.WriteLine("Moonlight Error: Converted to null");
                converted = Value.Empty;
                return;
            }

            // This is freed in native code
            converted = Value.FromObject(o);
        }