Usually the logic for single press is this:
if (button_is_pressed_now && button_was_not_pressed_last_frame)
{ /* there was a single press */ }
Which translates to your case so:
if(currentGamepadState(PlayerIndex.One).Buttons.Y == ButtonState.Pressed &&
previousGamepadState(PlayerIndex.One).Buttons.Y != ButtonState.Pressed)
{
//do some code
}
This means you need to keep track of previous gamepad state. Microsoft's official tutorial has more on that: http://xbox.create.msdn.com/en-US/education/tutorial/2dgame/getting_started
That said, you don't really need an event handler for that.