Simple Use of Observable Collection in Windows Phone

A newbie would definitely wonder what is Observable Collection in Windows Phone 7 .

Here’s a simple scenario which demonstrates one of the advantages of the Observable Collection .

The ObservableCollection notifies the UI when you add the items to your collection to which the ListBox will get Updated .

public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
FillListBox();
}
MovieList Mov = new MovieList();
private void FillListBox()
{
listBox1.ItemsSource = Mov;
listBox1.DisplayMemberPath = "Name";
listBox1.SelectionChanged += new SelectionChangedEventHandler(listBox1_SelectionChanged);
}
void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Mov.Add(new Movie { Name = "Ghillli", Actor = "Vijay" });
}
}
public class Movie
{
public string Actor { get; set; }
public string Name { get; set; }
}
public class MovieList : List
{
public MovieList()
{
Add(new Movie { Name = "Kaavalan", Actor = "Vijay", });
Add(new Movie { Name = "Velayutham", Actor = "Vijay", });
Add(new Movie { Name = "7th Sense", Actor = "Surya", });
Add(new Movie { Name = "Billa 2", Actor = "Ajith Kumar", });
Add(new Movie { Name = "Nanban", Actor = "Vijay", });
}
}

In the above example , we use the the List<Movie> bound to the ItemSource of the Listbox and on the ListBox’s selectionChanged Event , we add another item to the same List .

Try the same thing by making the MovieList as ObservableCollection<Movie> and select the items on the ListBox , You will see that a new item will be added to the Listbox …

public class MovieList : ObservableCollection
{
public MovieList()
{
Add(new Movie { Name = "Kaavalan", Actor = "Vijay", });
Add(new Movie { Name = "Velayutham", Actor = "Vijay", });
Add(new Movie { Name = "7th Sense", Actor = "Surya", });
Add(new Movie { Name = "Billa 2", Actor = "Ajith Kumar", });
Add(new Movie { Name = "Nanban", Actor = "Vijay", });
}
}

 

Simple Use of Observable Collection in Windows Phone

Pin It

2 thoughts on “Simple Use of Observable Collection in Windows Phone

  1. The ObservableCollection notifies the UI when you add the items to your collection to which the ListBox will get Updated ?

  2. How to delete an item from the Observable collection.

    private void DeleteFile(object sender, EventArgs e)
    {

    //SavedData item = ParkListBox.SelectedItem as SavedData;
    SavedData item = parkinglistobj.Select(i => i.ID == index) as SavedData;

    //ParkListBox.Items.RemoveAt(0);
    parkinglistobj.Remove(item);

    using (IsolatedStorageFileStream fileStream = Settings.OpenFile(“CardItemList”, FileMode.Open,FileAccess.ReadWrite))
    {
    DataContractSerializer serializer = new DataContractSerializer(typeof(SavedDataList));
    parkinglistobj = (SavedDataList)serializer.ReadObject(fileStream);

    }
    MessageBox.Show(“Deleted Successfully”);
    NavigationService.Navigate(new Uri(“/FilesPage.xaml”, UriKind.RelativeOrAbsolute));

    }

    I tried in many ways but it was not deleting.

Leave a Reply

Your email address will not be published. Required fields are marked *