Beispiel #1
0
 /// <summary>
 /// Binds a mouse event to a ViewModel Command.
 /// </summary>
 /// <param name="view">The view that will own the Binding.</param>
 /// <param name="eventType">The mouse event to bind to.</param>
 /// <returns>The binding class that allows chaining extra options.</returns>
 public static IObservable <Unit> OnMouseEvent(this ViewBase view, MouseEventType eventType)
 {
     if (eventType == MouseEventType.OnMouseDown)
     {
         var component = view.AddComponentBinding <ObservableMouseDownBehaviour>();
         return(component.OnMouseDownAsObservable());
     }
     else if (eventType == MouseEventType.OnMouseDrag)
     {
         var component = view.AddComponentBinding <ObservableMouseDragBehaviour>();
         return(component.OnMouseDragAsObservable());
     }
     else if (eventType == MouseEventType.OnMouseEnter)
     {
         var component = view.AddComponentBinding <ObservableMouseEnterBehaviour>();
         return(component.OnMouseEnterAsObservable());
     }
     else if (eventType == MouseEventType.OnMouseExit)
     {
         var component = view.AddComponentBinding <ObservableMouseExitBehaviour>();
         return(component.OnMouseExitAsObservable());
     }
     else if (eventType == MouseEventType.OnMouseOver)
     {
         var component = view.AddComponentBinding <ObservableMouseOverBehaviour>();
         return(component.OnMouseOverAsObservable());
     }
     return(view.AddComponentBinding <ObservableMouseOverBehaviour>().OnMouseOverAsObservable());
 }