This is a migrated thread and some comments may be shown as answers.

RadBusyIndicator causes page to lock up on page navigate back

8 Answers 69 Views
BusyIndicator
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Anthony
Top achievements
Rank 1
Anthony asked on 13 Nov 2012, 02:13 PM
(WP7)

I've got a curious page lock where all of the controls freeze (TextBox, CheckBox, RadListPicker) on hitting the backbutton to the page after navigating away from the page.

I've implemented the same pattern that we use elsewhere in the application and which works and for the sake of completeness I'll add the code below:

<Grid x:Name="LayoutRoot">
<Grid>
yardy-yardy
</Grid>

      <telerikPrimitives:RadBusyIndicator Content="{Binding LoadingText}" IsRunning="{Binding IsBusy}"/>
  </Grid>

ViewModel:

        public string LoadingText
        {
            get
            {
                return AppResources.ProgressTextLoading;
            }
        }

ViewModelBase:

        private bool _isBusy;
        public virtual bool IsBusy
        {
            get
            {
                return _isBusy;
            }
            set
            {
                if (_isBusy != value)
                {
                    _isBusy = value;
                    RaisePropertyChanged("IsBusy");
                }
            }
        }

IsBusy is set to false on NavigatingFrom the page.

Any tips would be grateful, it is a commercial project that I am working on as a contractor so anything will be much appreciated.

For now the work around is to comment out the control:

<!--<telerikPrimitives:RadBusyIndicator Content="{Binding LoadingText}" IsRunning="{Binding IsBusy}"/>-->

Kind regards!

8 Answers, 1 is accepted

Sort by
0
Deyan
Telerik team
answered on 14 Nov 2012, 11:45 AM
Hi Anthony,

Thanks for writing.

When the Busy Indicator is running it blocks the input to the elements over which it appears. When the IsRunning property is set to false, the input should be unblocked.

I guess you are experiencing issues because of the blocked input. I am, however, not quite sure why this happens based on the code you have pasted. Can you please share with us a working sample which demonstrates the issue so that we can directly take a look at the issue and see how we can help?

Note that you will have to open a new support ticket in order to be able to attach your project.

I hope this helps.

Greetings,
Deyan
the Telerik team
Have a suggestion or face a problem - you can use the Ideas & Feedback portal to submit ideas, feedback and vote for them.
0
Anthony
Top achievements
Rank 1
answered on 14 Nov 2012, 12:31 PM
Hi Deyan,

Thanks for your quick reply, however I'm not able to upload the solution here for commercial reasons (15 projects in the solution, it would be giving away the crown jewels, not to mention the associated security risks) but is there another avenue to do something similar? I'm on location with my client so getting permission for something else is quite possible.

But from your info I have double checked, the IsRunning property is indeed set to false on Navigating away from the page, and there is nothing in the ViewModel (or OnNavigatedTo code behind) that could possibly set IsRunning to true on a mere back back button press.

Thanks!
0
Deyan
Telerik team
answered on 16 Nov 2012, 07:14 AM
Hello Anthony,

Thanks for getting back to me and for the additional details.

From what you are saying I cannot really determine the reason for the undesired behavior. If you manage to prepare a vary simple project that reproduces the scenario and send it to me I will take a look at it and see how I can help. Is that possible?

Thanks for your time.

Kind regards,
Deyan
the Telerik team
Have a suggestion or face a problem - you can use the Ideas & Feedback portal to submit ideas, feedback and vote for them.
0
Anthony
Top achievements
Rank 1
answered on 19 Nov 2012, 03:01 PM
Thanks Mate, I'll try to put one together!

Kind regards,

Anthony
0
Anthony
Top achievements
Rank 1
answered on 19 Nov 2012, 03:19 PM
Deyan,

I've started to create a strip down of this but by the time I consider all of the dependency injection that I'd have to moq, as well as the services, enums and other such things that are quite dispersed, etc, I can see one or two days work (and even then may not be able to reproduce the bug despite that it just sits there as the last child in the tree in Layout Root and just bound to the same IsBusy property in the base that the rest are bound to) ... and yet I could build a new templated control to do the same as the Telerik control, in about 45 minutes ... so regrettably I'm taking the second route.

But thanks for your time!

Kind regards,

Anthony
0
Deyan
Telerik team
answered on 20 Nov 2012, 08:03 AM
Hi Anthony,

Thanks for getting back to me. It's good that you have taken your own approach to solve the case.

Anyway, we would be interested in getting to know what causes the erroneous behavior on your side so if you find time to take a look at it at some point - do not hesitate to share your feedback.

Regards,
Deyan
the Telerik team
Have a suggestion or face a problem - you can use the Ideas & Feedback portal to submit ideas, feedback and vote for them.
0
Anthony
Top achievements
Rank 1
answered on 11 Dec 2012, 05:11 PM
Hi Deyan,

The fix was quite curious:

In a method in the ViewModel where I was setting IsBusy to false, rather than explicitly going IsBusy = false, I called a method to do the same, vis-a-vis:

SetIsBusyFalse();

because I'd anticipated having to put some other stuff in there (such as DataLogging).

public void SetIsBusyFalse()
{
this.IsBusy = false;
}

The curious thing that resolved the issue is that I removed the SetIsBusyFalse() method call and replaced it with "this.IsBusy = false;" and the freezing stopped.

Can't figure out why but it works and has now passed the testers so I'm happy.

... Consumed a lot of manhours though :) ...

Kind regards and thanks for your time!
0
Deyan
Telerik team
answered on 12 Dec 2012, 11:30 AM
Hi Anthony,

A curious case indeed.

We will consider this thread closed.

Do not hesitate to get back to us in case of further questions.

Greetings,
Deyan
the Telerik team
Have a suggestion or face a problem - you can use the Ideas & Feedback portal to submit ideas, feedback and vote for them.
Tags
BusyIndicator
Asked by
Anthony
Top achievements
Rank 1
Answers by
Deyan
Telerik team
Anthony
Top achievements
Rank 1
Share this question
or