public MeritBadgesViewModel()
 {
     if (IsInDesignMode)
     {
         // Code runs in Blend --> create design time data.
     }
     else
     {
         // Code runs "for real": Connect to service, etc...
         ThreadPool.QueueUserWorkItem((cb) =>
         {
             var doc = XDocument.Load("Data/MeritBadges.xml", LoadOptions.PreserveWhitespace);
             foreach (var item in doc.Element("MeritBadges").Elements("MeritBadge"))
             {
                 var mb = new MeritBadge()
                 {
                     Name = item.Element("Title").Value,
                     ImageUrl = item.Element("ImageUrl").Value,
                     Description = item.Element("Description").Value,
                     IsEagleRequired = bool.Parse(item.Element("IsEagleRequired").Value),
                     WorksheetUrl = item.Element("WorksheetUrl").Value,
                 };
                 this.MeritBadges.Add(mb);
             }
             SetMeritBadgesByFirstLetter();
         });
     }
 }
 public MeritBadgeSelectedMessage(MeritBadge value)
 {
     // TODO: Complete member initialization
     this.MeritBadge = value;
 }