RadBusyIndicator Overlay On RadListBox Cannot be Removed

5 posts, 0 answers
  1. Vincent
    Vincent avatar
    3 posts
    Member since:
    Aug 2013

    Posted 30 Aug 2013 Link to this post

    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>
  2. Vincent
    Vincent avatar
    3 posts
    Member since:
    Aug 2013

    Posted 30 Aug 2013 Link to this post

    <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

  3. DevCraft banner
  4. Rosen Vladimirov
    Admin
    Rosen Vladimirov avatar
    640 posts

    Posted 04 Sep 2013 Link to this post

    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 >>
  5. Vincent
    Vincent avatar
    3 posts
    Member since:
    Aug 2013

    Posted 09 Sep 2013 Link to this post

    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?
  6. Rosen Vladimirov
    Admin
    Rosen Vladimirov avatar
    640 posts

    Posted 12 Sep 2013 Link to this post

    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 >>
Back to Top
DevCraft banner