Я не думаю, что вы можете сделать что-то еще, кроме рефакторинга этого метода, так как нет предопределенной коллекции для всех кнопок.Если вы хотите полностью скрыть его из виду, вы можете использовать такой метод расширения, как этот:
public static class Extensions
{
public static bool CheckUniformButtonState(this MouseButtonEventArgs e, MouseButtonState state)
{
switch (state)
{
case MouseButtonState.Pressed:
return (e.LeftButton == MouseButtonState.Pressed &&
e.RightButton == MouseButtonState.Pressed &&
e.MiddleButton == MouseButtonState.Pressed &&
e.XButton1 == MouseButtonState.Pressed &&
e.XButton2 == MouseButtonState.Pressed);
case MouseButtonState.Released:
return (e.LeftButton == MouseButtonState.Released &&
e.RightButton == MouseButtonState.Released &&
e.MiddleButton == MouseButtonState.Released &&
e.XButton1 == MouseButtonState.Released &&
e.XButton2 == MouseButtonState.Released);
default:
return false;
}
}
}
(Не то, чтобы кто-нибудь когда-либо проверял, нажаты ли все 5 кнопок ..)
Тогда выможно проверить так:
if (mouseEventArgs.CheckUniformButtonState(MouseButtonState.Released))
{
return;
}