As many have stated, if he knows how to use that knife, you're probably screwed. And how do you know how good he is? You can't. Highest chance of survival is to comply with his demands. Failing that (more if he's threatening rather than making a demand), attempt to verbally appease him. Failing that run. If you've gotta fight, make sure you've trained for the situation.
re: another weapon
Unless that weapon (makeshift or not) is already in your hand when you see the knife, this strategy is like an ostrich sticking its head in the sand. I'm not that fast, but with a knife in hand I would wager that I am probably fast enough to do serious/fatal damage to you before you could bring a weapon to bear.
re: grabbing his wrist
You had better know what you are doing. That means training it against bigger, stronger, faster opponents with varying skill levels. I've done knife grappling, and it is definitely not easy. Assume your attacker knows what he's doing and treat him appropriately.