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

RadBusyIndicator Overlay On RadListBox Cannot be Removed

4 Answers 119 Views
BusyIndicator
This is a migrated thread and some comments may be shown as answers.
Vincent
Top achievements
Rank 1
Vincent asked on 30 Aug 2013, 05:46 AM
Hi,
I have a Usercontrol contains a Radlistbox which is surrounded by a radbusyindicator.Radlistbox's ItemsSource is from a WCF request in async mode.Generally, the indicator is showing when the request begin and hide after handler completed.My question is, after populating data on listbox, the indicator is collapsed but the listboxitems get the gray overlay until moving mouse over them.I've tried the following ways to find problem, but all failed.
1. reproduce this in other project with same code;
2. use busyindicator of microsoft toolkit to replace radbusyindicator;
3. remove all customized style
4. catch IsEnabledChanged event of radlistbox and invoke control.Fosus().
any suggest?

My Source Code:
<StackPanel x:Name="LayoutRoot" Background="White">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="150"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
  
            <telerik:RadBusyIndicator x:Name="querySourceIndicator" Grid.Column="0" IsBusy="{Binding IsOPBusying}">
                <StackPanel  Margin="3">
                    <StackPanel Orientation="Horizontal" Margin="2">
                        <telerik:RadWatermarkTextBox x:Name="searchTextBox"VerticalAlignment="Center" Width="119">
                            <telerik:RadWatermarkTextBox.WatermarkContent>
                                <TextBlock VerticalAlignment="Center" Text="Enter Your Searching Name" FontStyle="Normal" />
                            </telerik:RadWatermarkTextBox.WatermarkContent>
                        </telerik:RadWatermarkTextBox>
                        <telerik:RadButton Style="{StaticResource SearchButton}">
                            <i:Interaction.Triggers>
                                <i:EventTrigger EventName="Click">
                                    <i:InvokeCommandAction Command="{Binding Search}"CommandParameter="{Binding Text, ElementName=searchTextBox}"/>
                                </i:EventTrigger>
                            </i:Interaction.Triggers>
                        </telerik:RadButton>
                    </StackPanel>
                    <telerik:RadListBox x:Name="sourceList" MinHeight="360" Margin="2"
                                        ItemsSource="{Binding SourceList}"
                                        SelectedItem="{Binding SelectedSource, Mode=TwoWay}"
                                        ItemTemplate="{StaticResource sourceListItemTemplate}" />
                </StackPanel>
            </telerik:RadBusyIndicator>
  
            <StackPanel Grid.Column="1" Margin="3">
                <StackPanel  Orientation="Horizontal" VerticalAlignment="Center" Margin="2">
                    <TextBlock Text="Name" Margin="3"/>
                    <TextBox Text="{Binding SelectedSource.DisplayName, Mode=TwoWay}" Width="150"/>
                </StackPanel>
                <telerik:RadBusyIndicator x:Name="previewBusyIndicator" IsBusy="{Binding IsPreviewDatatBusy}">
                    <telerik:RadGridView x:Name="gridViewSourceData"ShowGroupPanel="False"MinHeight="360" Margin="2"
                                         AutoGenerateColumns="True" ItemsSource="{Binding PreviewDataList}"/>
                </telerik:RadBusyIndicator>
            </StackPanel>
        </Grid>
  
    </StackPanel>

4 Answers, 1 is accepted

Sort by
0
Vincent
Top achievements
Rank 1
answered on 30 Aug 2013, 05:53 AM
<StackPanel x:Name="LayoutRoot" Background="White">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="150"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
  
            <telerik:RadBusyIndicator x:Name="querySourceIndicator" Grid.Column="0" IsBusy="{Binding IsOPBusying}">
                <StackPanel  Margin="3">
                    <StackPanel Orientation="Horizontal" Margin="2">
                        <telerik:RadWatermarkTextBox x:Name="searchTextBox"VerticalAlignment="Center" Width="119">
                            <telerik:RadWatermarkTextBox.WatermarkContent>
                                <TextBlock VerticalAlignment="Center" Text="Enter Your Searching Name" FontStyle="Normal" />
                            </telerik:RadWatermarkTextBox.WatermarkContent>
                        </telerik:RadWatermarkTextBox>
                        <telerik:RadButton Style="{StaticResource SearchButton}">
                            <i:Interaction.Triggers>
                                <i:EventTrigger EventName="Click">
                                    <i:InvokeCommandAction Command="{Binding Search}"CommandParameter="{Binding Text, ElementName=searchTextBox}"/>
                                </i:EventTrigger>
                            </i:Interaction.Triggers>
                        </telerik:RadButton>
                    </StackPanel>
                    <telerik:RadListBox x:Name="sourceList" MinHeight="360" Margin="2"
                                        ItemsSource="{Binding SourceList}"
                                        SelectedItem="{Binding SelectedSource, Mode=TwoWay}"
                                        ItemTemplate="{StaticResource sourceListItemTemplate}" />
                </StackPanel>
            </telerik:RadBusyIndicator>
  
            <StackPanel Grid.Column="1" Margin="3">
                <StackPanel  Orientation="Horizontal" VerticalAlignment="Center" Margin="2">
                    <TextBlock Text="Name" Margin="3"/>
                    <TextBox Text="{Binding SelectedSource.DisplayName, Mode=TwoWay}" Width="150"/>
                </StackPanel>
                <telerik:RadBusyIndicator x:Name="previewBusyIndicator" IsBusy="{Binding IsPreviewDatatBusy}">
                    <telerik:RadGridView x:Name="gridViewSourceData" ShowGroupPanel="False"MinHeight="360" Margin="2"
                                         AutoGenerateColumns="True" ItemsSource="{Binding PreviewDataList}"/>
                </telerik:RadBusyIndicator>
            </StackPanel>
        </Grid>
  
    </StackPanel>

this is my source code,FYR

0
Rosen Vladimirov
Telerik team
answered on 04 Sep 2013, 06:19 AM
Hello Vincent,

I've tried to reproduce your problem based on your code, but unfortunately I couldn't. Could you give us more details or modify attached project and send it back to us, so we'll be able to investigate it further?

I also recommend you to get rid of all StackPanels and use Grids instead as this will give you much better performance.

Regards,
Rosen Vladimirov
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Vincent
Top achievements
Rank 1
answered on 09 Sep 2013, 12:00 PM
Thanks for your recommend. As mentioned in my post,I just cannot reproduce the phenomenon I described outside my current project.But through checking your official theme's xaml in installed demos, I found that  RadBusyIndicator had changed its child element's opacity, but in the specified project, my radlistbox element (called sourceList in my sourcecode) just cannot change its opacity back. Well,I rewrite your theme file in $Telerik Home$\Themes\Metro\Themes\Metro\ListBox.xaml, and applied in my local xamls, and it seems working well except that the radlistboxitem cannot get gray overlay forever (disabled status e.g). At present, I just want to know why the radlistbox cannot change its opacity back. In my opinon, and proved in my debug project, the 'Normal' status of radlistbox cannot be invoked after radbusyindicator disappeared.What is the underlying reason?
0
Rosen Vladimirov
Telerik team
answered on 12 Sep 2013, 10:56 AM
Hi Vincent,

May I ask you for the exact version of RadControls that you are using? Metro theme is obsolete and no longer used - we have replaced it with Windows8 theme. Also can you reproduce the same unexpected behavior without any BusyIndicator in your Application? How do you remove the busy indication when the items are ready - you should set IsBusy to false in order to hide the indication.

I'm looking forward to hearing from you.

Regards,
Rosen Vladimirov
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Tags
BusyIndicator
Asked by
Vincent
Top achievements
Rank 1
Answers by
Vincent
Top achievements
Rank 1
Rosen Vladimirov
Telerik team
Share this question
or