This question is locked. New answers and comments are not allowed.
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.
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
0
Accepted
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:
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:
And then you can place the code for the time consuming operations in MainPage_Loaded event handler:
I hope this information helps. Let me know if I can assist you further.
Kind regards,
Todor
the Telerik team
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:
MainPage.cs Code
Hope this time it should work out!!!!
Thanks and Regards,
Vijay
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