How to display combo box loading message in wpf

488 views Asked by At

We are loading RadGridView inside the RadComboBox. When we are clicking on the combo box then its take time. I think it's take time due to RadGridView. RadGridView taking time in the data binding so combo box does not populating immediately. We want if item source has not been populated yet, pop up a box “Please wait while the product list is loaded….”. If possible, load the list at that point, then close the box.

<telerik:RadComboBox x:Name="partIdRadComboBox" Grid.Column="1" Height="32" Width="70" Margin="0,10,4,4" VerticalAlignment="Top"
                                             EmptyText="-" Text="{Binding Text, Mode=TwoWay}" IsEditable="True" AllowDrop="False"
                                             IsTextSearchEnabled="True" OpenDropDownOnFocus="True" FontSize="15" InputScope="Number">
    <telerik:RadComboBox.Items>
        <telerik:RadComboBoxItem>
            <telerik:RadComboBoxItem.Template>
                <ControlTemplate TargetType="telerik:RadComboBoxItem">
                    <telerik:RadGridView x:Name="RadGridView1" ShowGroupPanel="False" CanUserFreezeColumns="False"
                                            RowIndicatorVisibility="Collapsed" IsReadOnly="True" AutoGenerateColumns="False"
                                            IsFilteringAllowed="False" ItemsSource="{Binding Items}" IsSynchronizedWithCurrentItem="False"
                                            Height="150" SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
                                            RowStyle="{StaticResource ComboboxRowStyle}" HorizontalContentAlignment="Left">
                        <telerik:RadGridView.Columns>
                            <telerik:GridViewDataColumn DataMemberBinding="{Binding PartID}" Header="Part ID" />
                            <telerik:GridViewDataColumn DataMemberBinding="{Binding ShopID}" Header="Shop ID" />
                            <telerik:GridViewDataColumn DataMemberBinding="{Binding UnitRate}" Header="Base $" />
                            <telerik:GridViewDataColumn DataMemberBinding="{Binding BookUnitRental}" Header="Base Rent $" />
                            <telerik:GridViewDataColumn DataMemberBinding="{Binding Description}" Header="Description" />
                        </telerik:RadGridView.Columns>
                    </telerik:RadGridView>
                </ControlTemplate>
            </telerik:RadComboBoxItem.Template>
        </telerik:RadComboBoxItem>
    </telerik:RadComboBox.Items>
    <ie:Interaction.Triggers>
        <ie:EventTrigger EventName="PreviewKeyDown">
            <prism:InvokeCommandAction Command="{Binding SelectHighlightedProductCommand}"/>
        </ie:EventTrigger>
    </ie:Interaction.Triggers>
</telerik:RadComboBox>
0

There are 0 answers