Who plays Robert in enchanted?

Robert is played by Patrick Dempsey.