I am working on simple game using WPF/C#, and I am wondering what is the best practice to resize the game (views, assets…) when user re-sizes the game window? Is it good practice to use the ViewBox control for this job?
This depends on the size you designed you application at and what resolutions you want to support, I've played with using a ScaleTransform to try getting my 800x600 app down to a smaller size for the windows phone 7 (I ran into other problems while converting my silverlight app to the windows phone 7 sdk so I gave up, but the scaling worked pretty nicely).
Mike Snow has a very good article on how to do this along with hooking up to the Content_Resized event in your Page: Silverlight Tip of the Day #33: How to Scale your entire App and its Elements to your Browsers Size
You do want to be careful since scaling your app down too small will make certain elements like text too small to read and unusable.