private static GestureListenerBehavioursBehaviour GetOrCreateBehaviour(Control element) { var behavior = element.GetValue(GestureListenerBehavioursBehaviourProperty) as GestureListenerBehavioursBehaviour; if (behavior == null) { behavior = new GestureListenerBehavioursBehaviour(element); element.SetValue(GestureListenerBehavioursBehaviourProperty, behavior); } return(behavior); }
private static void OnSetDoubleTapCommandCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e) { var element = dependencyObject as Control; if (element != null) { GestureListenerBehavioursBehaviour behavior = GetOrCreateBehaviour(element); behavior.DoubleTapCommand = e.NewValue as ICommand; } else { Console.Out.WriteLine("Error: Expected type Control but found " + dependencyObject.GetType().Name); } }