For normal gravity beers, like a witbier, 3 weeks would normally be sufficient. But if i saw krausen on top, I would definitely be guided by my hydrometer. Take a series of readings over the next few days and see if its steady. If it is, that means the fermentation is done and its safe to bottle. If its still dropping, leave it for another week or two and check again.
This is what i love about this avocation - you can never predict exactly how things will turn out!
edit: What he said ^^^^^^