2016-04-10 13 views
1

私はブートストラップインストーラ用のプログレスバーを作成しています。インストール中は100%アップされます。しかし、それをアンインストールしている間だけ50%になり、そこで停止します。以下は私のコードです。wixのプログレスバーがアンインストール中に動作が異なる

私のViewModelクラスのコンストラクタです。

this.Bootstrapper.CacheAcquireProgress += (sender, args) => 
      { 
       this.cacheProgress = args.OverallPercentage; 
       this.Progress = (this.cacheProgress + this.executeProgress)/2; 
      }; 
      this.Bootstrapper.ExecuteProgress += (sender, args) => 
      { 
       this.executeProgress = args.OverallPercentage; 
       this.Progress = (this.cacheProgress + this.executeProgress)/2; 
      }; 

次に、ゲッターとセッターを次のように設定します。

private int progress; 
     public int Progress 
     { 
      get { return progress; } 
      set 
      { 
       this.progress = value; 
       RaisePropertyChanged("Progress"); 
      } 
     } 

     private int cacheProgress; 
     private int executeProgress; 

私はここで間違っていますか?アンインストールが完了しても、アンインストール中にバーが50%のままになるのはなぜですか?ご意見をお聞かせください。

答えて

2

必ずしもすべてのアクションを適用するには、その分母がどうあるべきかを知るためにコールバック(V4で、それはOnApplyBeginにあります)OnApplyPhaseCountを使用して、キャッシュの位相を持つことになります。

+0

OnApplyPhaseCountを使用してこれを行う方法に関する例は見つかりませんでした。私に例を教えてください。 – mayooran

関連する問題