void TimeDistribute()
        {
            if (!CanStart())
            {
                return;
            }
            var control = new DistributeControl();
            var vm      = new DistributeViewModel()
            {
                IsBusy = true
            };

            control.DataContext = vm;
            OpenView("Distribute Time(" + ProcessMode.ToString() + "):" + GetHeader(), control);
            Task.Factory.StartNew(() =>
            {
                try {
                    Save();
                    var ml = TargetObject.GetMarketDataList();

                    var dl = TargetObject.GetDistributeByTime(ml);
                    var tl = TargetObject.GetDistributeTrendByTime(ml);
                    App.Current.Dispatcher.Invoke(() => { vm.LoadData(dl, tl); });
                }
                catch (Exception ex)
                {
                    LogSupport.Error(ex);
                }
            }).ContinueWith((t) =>
            {
                vm.IsBusy = false;
            });
        }