Hello,
It appears that the args object passed into an override of OnPreviewMouseLeftButtonDown describes the current (live) mouse button state, not a snapshot of the state present when the event occurred.
Is this proper behavior? Shouldn't event arguments reflect event data at the moment the event occurred (a snapshot) and not be automatically updated to reflect live data?
Thank you,
Ben
Code Sample
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
{
// before MessageBox display, e.ButtonState = Pressed
MessageBox.Show("OnPreviewMouseLeftButtonDown");
// now, e.ButtonState = Released
base.OnPreviewMouseLeftButtonDown(e);
}