Search code examples
c#wpfoxyplot

Oxyplot Model Handle Key Press


OxyPlot's PlotModel and PlotController components contains their own Mouse Handlers, to which you can add or remove you own Handlers. For Instance:

this.Model.MouseMove += this.ModelOnMouseMove;

public void ModelOnMouseMove(object sender, OxyMouseDownEventArgs e)
{
    // Do some mouse stuff...
}

Is there a way for the Model to capture KeyBoard Key presses in a similiar manner?


Solution

  • OxyPlot apparently does have a Model.Keydown Even Handler, that triggers when the PlotModel is in focus. There just doesn't appear to be much documentation on it:

    this.Model.KeyDown += ModelOnKeyDown;
    
    private void ModelOnKeyDown(object sender, OxyKeyEventArgs e)
    {
         if (e.Key == OxyKey.Up)
         {
            // Do Some Stuff
         }
         else if (e.Key == OxyKey.Down)
         {
             // Do Some Stuff
         }
     }