namespace mySillyExample
{
public class BookShelf
{
public Shelf[] myShelves{get; set;}
}
public class Shelf
{
public Book[] booksOnThisShelf{get; set;}
}
public class Book
{
public string Title {get; set;};
public string Author{get; set;};
public string ISBN {get; set;};
}
}
//ViewModelBase should be a base class that implements INotifyPropertyChanged
public class MyViewModel : ViewModelBase
{
public readonly IDataProvider _provider;
public MyViewModel(IDataProvider provider)
{
_provider = provider ?? (some default provider);
}
public IList Titles
{
get
{
var q = from shelves in _provider.GetBookShelves()
from books in shelves.booksOnThisShelf
select books.Title;
return q as List;
}
}
}