Telerik RadPickerBox in Windows Phone 7 via WCF Service
Introduction
Today, in this article let's learn another new and wonderful concept related to Windows Phone 7, whereby communicating with WCF Service to perform some operation.
The Telerik Rad Controls for Windows Phone 7 can be downloaded from http://www.telerik.com/products/windows-phone.aspx
The Rad Message Box is used to display the output in a nice and enhanced UI.
Question: What is RadPickerBox?
In simple terms "It enables to display the content on simple pop screen, when the rad picker box button is clicked".
Let's get this implemented practically for a better idea of this!!!
Step 1: The complete code of the IService1.cs looks like this.
|
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text;
namespace Rad_Picker_WCF { // NOTE: You can use the "Rename" command on the "Refactor" menu to change the [ServiceContract] public interface IService1 { [OperationContract] double add(double a, double b); [OperationContract] double sub(double a, double b); [OperationContract] double mul(double a, double b); [OperationContract] double div(double a, double b); } |
Step 2: The complete code of the Service1.svc.cs looks like this.
|
using System; |
Step 3: The complete code of the Web.Config looks like this.
|
<?xml version="1.0"?> |
Step 4: The complete code of the MainPage.xaml looks like this.
Step 5: The complete code of the MainPage.xaml.cs looks like this:
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_Picker_Box_Application.ServiceReference1; using Telerik.Windows.Controls; namespace Rad_Picker_Box_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, "Rad Picker Box via WCF", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null); } public void button1_Click(object sender, RoutedEventArgs e) { textBlock3.Text = ""; if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text)) { textBlock3.Text = "Please Enter Some Values"; } else { 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, "Rad Picker Box via WCF", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null); } public void button2_Click(object sender, RoutedEventArgs e) { textBlock3.Text = ""; if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text)) { textBlock3.Text = "Please Enter Some Values"; } else { 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, "Rad Picker Box via WCF", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null); } public void button3_Click(object sender, RoutedEventArgs e) { textBlock3.Text = ""; if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text)) { textBlock3.Text = "Please Enter Some Values"; } else { 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, "Rad Picker Box via WCF", null, false, false, System.Windows.HorizontalAlignment.Stretch, System.Windows.VerticalAlignment.Center, null); } public void button4_Click(object sender, RoutedEventArgs e) { textBlock3.Text = ""; if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text)) { textBlock3.Text = "Please Enter Some Values"; } else { objClient.divCompleted += new EventHandler<divCompletedEventArgs>(div_Call); objClient.divAsync(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)); textBox1.Text = ""; textBox2.Text = ""; } } private void closeBtn_Click(object sender, RoutedEventArgs e) { radPicker1.IsPopupOpen = false; } #region Instance Varibles Service1Client objClient = new Service1Client(); #endregion } } |
Step 6: The output of the Application looks like this.


Step 7: The output of the Nothing Entered Application looks like this.

Step 8: The output of the Addition Operation Application looks like this.


I hope this article is useful for you...I look forward for your comments and feedback...Thanks Vijay Prativadi.

Join the conversation! Your thoughts help the community grow.