Showing posts with label Silverlight 2.0. Show all posts
Showing posts with label Silverlight 2.0. Show all posts

Monday, January 11, 2010

Webservices using Silverlight 2.0

In silverlight can't connect directly to the database. it can only connect through webservices.
Before connecting to webservices. we should aware of security, data integrity, binding, performance.
using silverlight user connect diferent services.the services are webservice, WCF service and REST.
hope know about webservice and wcf, so all are asking about REST. Rest means RePresentation of state transition.
through webclient and httpwebrequest can connect and get the response.
usually webservices can connect through http. while connecting you have to maintain the thread. it's should
run with in thread only. if you not connect through proxy. you should maintain the thread. other wise it would
be problem.
Method 1:
Calling ASMX webservices.
Step 1:
Create asmx webservice and in to silverlight application as a service reference.
Step 2:
ADD namespace in the using section.
Step 3:
Get path of asmx file through this method.
public string GetURLforResource(string resourcePage)
{
string webURL = HtmlPage.Document.DocumentUri.ToString();
string containerPage = webURL.Substring(webURL.LastIndexOf("/") + 1);
return webURL = webURL.Replace(containerPage, resourcePage);
}

Step 4:
Call webservice through this. string webServiceURL = GetURLforResource("WebserviceTest.asmx");
BasicHttpBinding binding = new BasicHttpBinding();
WebserviceTestSoapClient webSVC = new WebserviceTestSoapClient(binding,new EndpointAddress(webServiceURL));
webSVC.HelloWorldCompleted += new EventHandler(webSVC_HelloWorldCompleted);
webSVC.HelloWorldAsync();

also for the method has to create the eventhandler.
Step 5:
This is the event handler to display the result of the webservice method.
void webSVC_HelloWorldCompleted(object sender, HelloWorldCompletedEventArgs e)
{

HtmlPage.Window.Alert(e.Result);
}

Method 2:
Calling WCF service.
Everything same as like the above. one thing must to do in web.config.
while creating wcf it will add automatically binding as wsHttpBinding instead of that
have to modify basicHttpBinding.
Method 3:
Coming soon










-

Friday, January 8, 2010

Navigation between XAML Pages using Silverlight 2.0

Before going in to navigation one thing keep in mind there is no direct way for navigating the xaml files in Silverlight 2.0.
Ok fine let's start our navigation journey. I have two ways to navigate between the xaml files.
let me explain one by one.
# Method 1: Using App.XAML
Step 1:
There is a Application_startup event in App.XAML which will decide the initial load page.
Before that comment all the line in this method. (Example://this.RootVisual = new Page();)
Here in this have to do some little trick.
Step 2:
Declare one public Grid outside the event.
like this: public static Grid root;
and then write this code in the application Startup event.

private void Application_Startup(object sender, StartupEventArgs e)
{
root = new Grid();
root.Children.Add(new Login());
this.RootVisual = root;
}

here only we are adding Grid as a parent control. under that we have xaml page.
Step 3:
Create one more method for navigation.
public static void Navigate(UserControl newPage)
{
UserControl oldpage = root.Children[0] as UserControl;
root.Children.Add(newPage);
root.Children.Remove(oldpage);
}
This is the method will navigate one xaml to another xaml. Basically it's just removing the old page and adding new page.
The above all three steps only in the App.XAML file.
Step 4:
Now come to Login.Xaml, this is the inital page which will load from App.XAML.
After successing the login user has to navigate to productlist page.
The below code will navigate to product list page.
private void Login_Success_Click(object sender, RoutedEventArgs e)
{
App.Navigate(new Product());
}


#Method 2:
This is better approach compare to above.
In the silverlight application should have two files.
1) App.XAML2) Master.XAML
here in Master is the common file which will navigate the files through this.
let me go through step by step:
Step 1:
In the application_startup event load the Master.XAMl (Remove Automated code)
private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new Master();
}

Step 2:
In the master page clear all the content except usercontrol tag.
<UserControl x:Class="SilverlightThird.Master" xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="400" Height="300"> </UserControl>
Step 3:
In the code behind of Master page write the below code.
public partial class Master : UserControl
{
public Master()
{

InitializeComponent();
if (this.Content == null)
{
this.Content = new Login();
}
}

public void Navigate(UserControl Nextpage)
{
this.Content = Nextpage;
}
}

Step 4:
Now come to Login.xaml file.
In the success method of login.xaml.cs file write this below it will navigate.

hope this will help.













Custom Fonts in Silverlight 2.0

Hi all today i have learned something called custom fonts in silverlight 2.0.
it's really surprising me, it's very good feature.
follow the below stpes to create custom fonts in silverlight 2.0

Step1:
Create one silverlight applicaton. mean while get ttf extension file name.
Note: ttf is the extension for font.
step2:
Add atleast one ttf file in to our project folder
Example:webdings.ttf
step3:
after adding in to our project. add the code like the below in example.
then you will get the custom fonts in your browser.
Syntax:
FontFamily="Font_File_Name#Font_Name”
Example:
<TextBlock FontFamily="webdings.ttf#webdings" Text="Test"> </TextBlock>


Note:font_file_name and font_name is different except few.
if you give correct font_name then only it will work.

Accesssing Client bin Images in XAML.

In the client can not only xap file also can contain images. Those images can acccess from silverlight application.


Client Bin
Bluehils.jpg
imageaccess.xap

the above two files are there in the client bin.


if you want to access that image have to simple thing.


<Image Source="/Bluehills.jpg"> </Image>


Note:"/"