Windows Phone 7 Data Binding with Templates: Listing 1

Class to group design-time data

public class Group<T> : IEnumerable<T> {
  public Group(string name, IEnumerable<T> items) {
    this.KeyName = name;
    if (items == null) {
      items = new T[] { };
    }
    this.Items = new List<T>(items);
  }
  public string KeyName { get; set; }
  public IList<T> Items { get; set; }

  public bool HasItems {
    get { return this.FirstOrDefault() != null; }
  }

  public IEnumerator<T> GetEnumerator() {
    return this.Items.GetEnumerator();
  }

  IEnumerator System.Collections.IEnumerable.GetEnumerator() {
    return this.Items.GetEnumerator();
  }
}

About the Author

Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.