void DimentionAnalyse() { var control = new DimentionAnalyseControl(); var vm = new DimentionAnalyseControlViewModel() { IsBusy = true }; control.DataContext = vm; OpenView("Dimention Analyse(" + ProcessMode.ToString() + "):" + GetHeader(), control); Task.Factory.StartNew(() => { try { Save(); var rl = TargetObject.GetDimentionAnalyse(); App.Current.Dispatcher.Invoke(() => { vm.LoadData(rl); }); } catch (Exception ex) { LogSupport.Error(ex); } }).ContinueWith((t) => { vm.IsBusy = false; }); }