We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Using a single instance of SfBusyIndicator through the entire project.

Hi,

I have a scenario similar to this thread.

But in my case, I want to use it in the following scenarios

1. Whenever I navigate from form to form

2. When some lengthy operation is occurring for example. retrieving data from a database and showing it on the screen.

3. Performing some lengthy operation that uploads or downloads data from a web service.

I saw in the example provided in the thread that all it requires is Busy.IsBusy = true to show the busy indicator and Busy.IsBusy = false to turn it off.

How can I create a global control that has the same features such as AnimationType, Size, Title and reuse it whenever I want.

Is it that simple to use this code at the beginning and end of every event where you want to use it. For e.g. in a button that navigates to another form. Place the 2 lines of code in the start and end. I remember using this technique in Windows Mobile 5 with this line of code Screen.MousePointer = Hourglass and Screen.MousePointer = Default;

Can this control be instantiated with code only and nothing in XAML but at the same time render in the middle of the screen.

Will this control be transparent and overlay the forms .

If you have any doubt, please let me know so that I can explain it clearly.

Thanks,

Rajesh. 

5 Replies

CP Chozarajan Pandiyarajan Syncfusion Team November 18, 2016 10:53 AM UTC

Hi Rajesh,

Thanks for contacting Syncfusion support.

Can you please share a sample layout scenario with Page navaigation like in your project in which you would like to have a single instance busyIndicator? It will help to analyze further and provide an appropriate solution.

Regards,
Chozarajan P


RA Rajesh November 18, 2016 12:40 PM UTC

Hi,

My project consists of the following pages

Login Page
Signature Page
Home Page with menu items to navigate to various other pages
6 pages for a workflow scenario one after the other, navigate from the first page to the sixth page and back
Multiple popus in some of the pages.

Hence I have 10 pages in all.

The way I want the Busy Indicator to show are the following scenarios.

1. After tapping the login button on the Login Page.
2. Navigating from the Login Page to the Signature Page to the Home Page
3. Any menu item in the Home page to the  workflow scenario and back.
4. Whenever calling the popup windows from a button on some of the pages and closing them.
5. Opening the settings page from the login page.
6. Navigating through the pages and back in the workflow scenario.

Please note that I am not using Navigation drawer type but just independent forms that uses this code await this.Navigation.PushModalAsync(new Page()); for each navigation. Only one page is visible at a time.

It doesn't have to be a single instance of the SFBusyIndicator but it is ok if we have to create them in every page and set the properties via code.

I used this for example in my page SignaturePage but it did not work as expected.

<StackLayout>
      <busyindicator:SfBusyIndicator
      x:Name="busyindicator"
      AnimationType="SingleCircle"
      Duration="1"
      IsBusy="False"
      HeightRequest="200"
      WidthRequest="200"
      HorizontalOptions="FillAndExpand"
      ViewBoxHeight="150"
      ViewBoxWidth="150"
      Title="Please Wait..."
      TextColor="Blue"
      TextSize="23" />
</StackLayout>

And in the code behind for the btnNext_Clicked event

 private async void btn_Next_Clicked(Object sender, EventArgs e)
        {
            busyindicator.IsBusy = true;
     //performing validations
     //code that saves the signature as an array of bytes
     //code that saves the information to db and so on
    
     ......
     ...... 
     //clean up
     busyindicator.IsBusy = false; 
 }

This is an example that I used in one of the page but it did not work as expected.

I want to use this mechanism through out the entire application with the same style which gives a hint to the user that the application is working so that they dont have to tap the buttons multiple times.

Please let me know if this information was helpful.

Thanks,

Rajesh.


PK Pavendhan Kumar Syncfusion Team November 21, 2016 12:50 PM UTC

Hi Rajesh,

Thank you for your update.

Query : Using BusyIndicator on multiple pages by using single instance.

The SfBusyIndicator will not support the above mentioned behaviour but however we have prepared a sample to match your requirement by using SfBusyIndicator in some other ways.
Please download the same from the following link.

Link: http://www.syncfusion.com/downloads/support/forum/127468/ze/BusyIndicatorMulti333533963 

Please let us know whether the sample meets your requirement.

Regards,
Pavendhan K.
 



RA Rajesh November 22, 2016 04:07 AM UTC

Hi,

Thanks a lot for the sample application and I will explain my scenario and the limitations when using the technique as per your sample application. In your example the SFBusyIndicator control has to be placed in a Stacklayout so as to render on the screen.

StackLayout stack = new StackLayout();
stack.Padding = new Thickness(100);
stack.Children.Add(busy1);
   
stack.Children.Add(bt);

When having a single button on the screen it is ok to place it and adjust the co-ordinates.

But how can this be done when you have a lot of controls on the screen as seen in the attached word document.

In the attached document I have placed 2 images. One is the Android application that is rendered on the screen and the BusyIndicator has to be placed overlapping this screen in the center.

How can that be achieved for all the forms in the application since the number of controls will vary in height.

That is why I was asking if it can be created as a user control and called everytime on the clicked event of a button to show and then hide.

Thanks,

Rajesh.

Attachment: SFBusyIndicator_Overlay_e702e649.rar


PK Pavendhan Kumar Syncfusion Team November 23, 2016 12:46 PM UTC

Hi Rajesh,

Thank you for your update. We have prepared a sample using SfBusyIndicator with MasterDetailPage(Since Busy Indicator supports this kind of scenarios only). Please download the sample from the below available link.

Link: http://www.syncfusion.com/downloads/support/forum/127468/ze/BusyIndicator_127468-703726653 

Please let us know whether the sample have helped you to overcome from the problem. 


Loader.
Live Chat Icon For mobile
Up arrow icon