In this series of post I would be demonstrating the various features Blend offers to the Developers to develop RIA applications.

In the first few parts I would give a brief of how we are going to use those features.

In this article let us check out how to bind the listbox to an objectdatasource.

Lets create a new Blend Silverlight Application.

blend silverlight application

First and foremost lets create out classes as shown below :

public class Employee: INotifyPropertyChanged
{
public Employee(string name, int id, bool current)
{
_name = name;
_empID = id;
_isCurrentEmployee = current;
}
private string _name = string.Empty;
private int _empID = 0;
private bool _isCurrentEmployee;
public string Name
{
get {return _name;}
set {
if (value != _name)
{
_name = value;
OnPropertyChanged(
this, "Name");
}
}
}

public int EmpID
{
get { return _empID; }
set {
if (value != _empID)
{
_empID = value;
OnPropertyChanged(
this, "EmpID");
}
}
}

public bool IsCurrentEmployee
{
get { return _isCurrentEmployee;}
set {
if (value != _isCurrentEmployee)
{
_isCurrentEmployee = value;
OnPropertyChanged(
this, "IsCurrentEmployee");
}
}
}

public event PropertyChangedEventHandler PropertyChanged ;
private void OnPropertyChanged( object sender, string propertyName)
{
if ( this .PropertyChanged != null )
{
PropertyChanged(sender,
new PropertyChangedEventArgs(propertyName)) ;
}
}
}

public class Employees
{
string _companyName;
public string CompanyName
{
get { return "Fabrikam Inc.";}
set { _companyName = value;}
}
public ObservableCollection<Employee> EmployeeCollection
{
get {
ObservableCollection<Employee> _emplist =
new ObservableCollection<Employee>();
_emplist.Add(
new Employee("Joe Smith", 12343, false));
_emplist.Add(
new Employee("Mark Jones", 8555, true));
_emplist.Add(
new Employee("Jane Miller", 2377, true));
_emplist.Add(
new Employee("Suzy Day", 5885, true));
return _emplist;
}
}
}

Create a data source by clicking on the icon highlighted below :

silverlight blend application

Click on Create Object Data Source.

expression blend silverlight application

A Create Object Data Source Dialog appears. Make sure the Show all assemblies is checked.

datasource in silverlight application4.gif

Select the Employees class as our ObjectDataSource.

ObjectDataSource in blend application

The Data Window changes as shown below :

data in blend application

Simply drag and drop the EmployeeCollection into the Listbox.

listbox in blend silverlight application

Well we are done. The ListBox gets updated with the data as shown below :

silverlight blend application

Happy coding.