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.
CPChozarajan Pandiyarajan Syncfusion Team November 18, 2016 10:53 AM UTC
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
RARajesh November 18, 2016 12:40 PM UTC
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.
//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.
PKPavendhan Kumar Syncfusion Team November 21, 2016 12:50 PM UTC
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.
Please let us know whether the sample meets your requirement.
Regards, Pavendhan K.
RARajesh November 22, 2016 04:07 AM UTC
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);
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.
PKPavendhan Kumar Syncfusion Team November 23, 2016 12:46 PM UTC
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.