2015-09-02 78 views
0

框架內我的頁面花費的時間來加載意味着控制需要一段時間才能出現在頁面上的第一次。在我的主window.cs文件中,我應該設置IsBusy = true。我不知道如何使用繁忙指示符。何時應該將其切換爲true或false。請指導我如何使用它?提前致謝。如何使用繁忙指示在WPF

回答

3

通常,您會在開始執行繁重處理的負載之前設置繁忙指標,以便取決於您的代碼。

它通常會催生你在後臺線程做工作離開UI負載之前才說這是忙的時刻,當線程完成再「不忙」的UI。

0

用繁忙的指標包裹你Xaml。假設你正在使用MVVM

<xctk:BusyIndicator BusyContent="{Binding BusyText}" IsBusy="{Binding IsBusy}"> 
    <Grid> 
     <!--Your controls and content here--> 
    </Grid> 
</xctk:BusyIndicator> 

在你viewmodel

/// <summary> 
    /// To handle the Busy Indicator's state to busy or not 
    /// </summary> 
    private bool _isBusy; 
    public bool IsBusy 
    { 
     get 
     { 
      return _isBusy; 
     } 
     set 
     { 
      _isBusy = value; 
      RaisePropertyChanged(() => IsBusy); 
     } 
    } 

    private string _busyText; 
    //Busy Text Content 
    public string BusyText 
    { 
     get { return _busyText; } 
     set 
     { 
      _busyText = value; 
      RaisePropertyChanged(() => BusyText); 
     } 
    } 

命令和命令處理程序

//A Command action that can bind to a button 
    private RelayCommand _myCommand; 
    public RelayCommand MyCommand 
    { 
     get 
     { 
      return _myCommand?? 
        (_myCommand= new RelayCommand(async() => await CommandHandler(), CanExecuteBoolean)); 
     } 
    } 

internal async Task CommandHandler() 
    { 
     Isbusy = true; 
     BusyText = "Loading Something..."; 
     Thread.Sleep(3000); // Do your operation over here 
     Isbusy = false; 
    }