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

How to use?

2 Answers 137 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.
Froggy
Top achievements
Rank 2
Froggy asked on 11 May 2012, 01:14 PM
Hi,

I do not find any example on how to use the BusyIndicator in the xaml.

I made this by looking at various forum posts, but I am unable to see the indicator on my page.  what am I doing wrong?

            <telerikPrimitives:RadBusyIndicator
                x:Name="ProgressIndicator"
                AnimationStyle="AnimationStyle1"
                Content="Loading..."
                Foreground="{StaticResource PhoneForegroundBrush}"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                HorizontalContentAlignment="Center"/>

In code;

           ProgressIndicator.IsRunning = true;
            String content = prepareExport();  // Does some stuff for a few minutes....
           ProgressIndicator.IsRunning = false;

The indicator is not displayed.

thanks!
S.

2 Answers, 1 is accepted

Sort by
0
Accepted
Todor
Telerik team
answered on 11 May 2012, 01:52 PM
Hello Steven,

Thank you for your interest in RadBusyIndicator.

The displaying of the BusyIndicator is executed on the UI thread and it is blocked while you are preparing the export. You can use a Dispatcher that will allow the indicator to be started first and then your time consuming operations may start:
ProgressIndicator.IsRunning = true;
this.Dispatcher.BeginInvoke(() =>
{
    String content = prepareExport();  // Does some stuff for a few minutes....
    ProgressIndicator.IsRunning = false;
});

Please note that you will also need to execute this code when the MainPage has been loaded, for example you can subscribe for its Loaded event:
Loaded += new RoutedEventHandler(MainPage_Loaded);

And then you can place the code for the time consuming operations in MainPage_Loaded event handler:
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    // place code here...
}

I hope this information helps. Let me know if I can assist you further.

Kind regards,
Todor
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

0
Vijay
Top achievements
Rank 1
answered on 02 Jun 2012, 07:49 PM
Hello 

Please find the sample code of Rad Busy Indicator. It should be useful for an initial start up. Place your appropriate controls and request your busy display screen according to your requirements.

Xaml Code:

<phone:PhoneApplicationPage
 x:Class="Rad_Busy_Indicator_Application.MainPage"
 xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
 xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
 xmlns:telerik="clr-namespace:Telerik.Windows.Controls.BusyIndicator;assembly=Telerik.Windows.Controls.Primitives"
 xmlns:telerik1="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Primitives"
 mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
 FontFamily="{StaticResource PhoneFontFamilyNormal}"
 FontSize="{StaticResource PhoneFontSizeNormal}"
 Foreground="{StaticResource PhoneForegroundBrush}"
 SupportedOrientations="Portrait" Orientation="Portrait"
 shell:SystemTray.IsVisible="True">
 
<!--LayoutRoot is the root grid where all page content is placed-->
 <Grid x:Name="LayoutRoot" Background="Transparent">
 <Grid.RowDefinitions>
 <RowDefinition Height="Auto"/>
 <RowDefinition Height="*"/>
 </Grid.RowDefinitions>
 
<!--TitlePanel contains the name of the application and page title-->
 <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
 <TextBlock x:Name="ApplicationTitle" Text="Rad Busy Indicator Application" FontFamily="Verdana" FontSize="22" Style="{StaticResource PhoneTextNormalStyle}"/>
 <TextBlock x:Name="PageTitle" Text="Windows 7 Phone" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
 </StackPanel>
 
<!--ContentPanel - place additional content here-->
 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
 
<TextBlock Height="30"
 HorizontalAlignment="Left"
 Margin="0,23,0,0"
 Name="textBlock1"
 Text="Please Enter First Number: "
 FontFamily="Verdana"
 FontSize="22"
 VerticalAlignment="Top" />
 
<TextBlock Height="30"
 Margin="6,0,0,370"
 Name="textBlock2"
 Text="Please Enter Second Number: "
 FontFamily="Verdana"
 FontSize="22" />
 
<TextBox Height="72"
 HorizontalAlignment="Left"
 Margin="325,84,0,0"
 Name="textBox1"
 VerticalAlignment="Top"
 Width="131" />
 
<TextBox Height="72"
 HorizontalAlignment="Left"
 Margin="325,0,0,0"
 Name="textBox2"
 VerticalAlignment="Top"
 Width="131" />
 
<TextBlock FontFamily="Verdana"
 FontSize="22"
 Foreground="Red"
 Height="30"
 HorizontalAlignment="Left"
 Margin="71,166,0,0"
 Name="textBlock3"
 VerticalAlignment="Top" />
 
<Button Content="Addition"
 FontFamily="Verdana"
 FontSize="22"
 Background="Red"
 Height="72"
 HorizontalAlignment="Left"
 Margin="102,295,0,0"
 Name="button1"
 VerticalAlignment="Top"
 Width="240"
 Click="button1_Click"/>
 
<Button Content="Subtraction"
 FontFamily="Verdana"
 FontSize="22"
 Background="Blue"
 Height="72"
 HorizontalAlignment="Left"
 Margin="102,373,0,0"
 Name="button2"
 VerticalAlignment="Top"
 Width="240"
 Click="button2_Click"/>
 
<Button Content="Multiplication"
 FontFamily="Verdana"
 FontSize="22"
 Background="Yellow"
 Height="72"
 HorizontalAlignment="Left"
 Margin="102,451,0,0"
 Name="button3"
 VerticalAlignment="Top"
 Width="240"
 Click="button3_Click" />
 
<Button Content="Division"
 FontFamily="Verdana"
 FontSize="22"
 Background="Green"
 Height="72"
 HorizontalAlignment="Left"
 Margin="102,529,0,0"
 Name="button4"
 VerticalAlignment="Top"
 Width="240"
 Click="button4_Click"/>
 
<telerik1:RadBusyIndicator ContentPosition="Bottom"
 FontFamily="Verdana"
 FontSize="22"
 AnimationStyle="AnimationStyle5"
 Name="radBusy1"
 Foreground="DeepSkyBlue" Margin="42,202,70,304">
 
 </telerik1:RadBusyIndicator>
 
 </Grid>
 </Grid>
 
</phone:PhoneApplicationPage>


MainPage.cs Code



using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Rad_Busy_Indicator_Application.ServiceReference1;
using Telerik.Windows.Controls;
 
namespace Rad_Busy_Indicator_Application
{
 public partial class MainPage : PhoneApplicationPage
 {
 // Constructor
 public MainPage()
 {
 InitializeComponent();
 }
 
private void add_Call(object sender, addCompletedEventArgs e)
 {
 RadMessageBox.Show("Addition Result is: " + e.Result.ToString(), MessageBoxButtons.OKCancel, "RadBusyIndicatory - WCF Service", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null);
 radBusy1.IsRunning = false;
 }
 
public void button1_Click(object sender, RoutedEventArgs e)
 {
 radBusy1.IsRunning = false;
 textBlock3.Text = "";
 if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text))
 {
 textBlock3.Text = "Please Enter Some Values";
 }
 else
 {
 radBusy1.IsRunning = true;
 objClient.addCompleted += new EventHandler<addCompletedEventArgs>(add_Call);
 objClient.addAsync(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
 textBox1.Text = "";
 textBox2.Text = "";
 
}
 }
 
private void sub_Call(object sender, subCompletedEventArgs e)
 {
 RadMessageBox.Show("Subtraction Result is: " + e.Result.ToString(), MessageBoxButtons.OKCancel, "RadBusyIndicatory - WCF Service", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null);
 radBusy1.IsRunning = false;
 }
 public void button2_Click(object sender, RoutedEventArgs e)
 {
 radBusy1.IsRunning = false;
 textBlock3.Text = "";
 if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text))
 {
 textBlock3.Text = "Please Enter Some Values";
 }
 else
 {
 radBusy1.IsRunning = true;
 objClient.subCompleted += new EventHandler<subCompletedEventArgs>(sub_Call);
 objClient.subAsync(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
 textBox1.Text = "";
 textBox2.Text = "";
 }
 }
 
private void mul_Call(object sender, mulCompletedEventArgs e)
 {
 RadMessageBox.Show("Multiplication Result is: " + e.Result.ToString(), MessageBoxButtons.OKCancel, "RadBusyIndicatory - WCF Service", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null);
 radBusy1.IsRunning = false;
 }
 public void button3_Click(object sender, RoutedEventArgs e)
 {
 radBusy1.IsRunning = false;
 textBlock3.Text = "";
 if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text))
 {
 textBlock3.Text = "Please Enter Some Values";
 }
 else
 {
 radBusy1.IsRunning = true;
 objClient.mulCompleted += new EventHandler<mulCompletedEventArgs>(mul_Call);
 objClient.mulAsync(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
 textBox1.Text = "";
 textBox2.Text = "";
 }
 }
 
private void div_Call(object sender, divCompletedEventArgs e)
 {
 RadMessageBox.Show("Division Result is: " + e.Result.ToString(), MessageBoxButtons.OKCancel, "RadBusyIndicatory - WCF Service", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null);
 radBusy1.IsRunning = false;
 }
 public void button4_Click(object sender, RoutedEventArgs e)
 {
 radBusy1.IsRunning = false;
 textBlock3.Text = "";
 if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text))
 {
 textBlock3.Text = "Please Enter Some Values";
 }
 else
 {
 radBusy1.IsRunning = true;
 objClient.divCompleted += new EventHandler<divCompletedEventArgs>(div_Call);
 objClient.divAsync(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
 textBox1.Text = "";
 textBox2.Text = "";
 }
 }
 
#region Instance Variables
 Service1Client objClient = new Service1Client();
 #endregion
 }
}

Hope this time it should work out!!!!

Thanks and Regards,
Vijay


Tags
BusyIndicator
Asked by
Froggy
Top achievements
Rank 2
Answers by
Todor
Telerik team
Vijay
Top achievements
Rank 1
Share this question
or