async WPF click event for CPU intensive operation

Lesson learned:

  1. Don’t use async/await in .Net 4.0.
  2. Use Task.Run to replace the CPU intensive code.
  3. Need to manually fire PropertyChanged event for ViewModel.