void OnCurrentItemsCollectionChanged()
 {
     if (CurrentItemsCollection != null)
     {
         Type elementType = ((IValueConverter) new IEnumerableToFirstItemConverter()).Convert(CurrentItemsCollection, null, null, CultureInfo.CurrentCulture).GetType();
         CodeText = new CodeLanguageText(DemoHelper.GetDemoLanguage(elementType.Assembly), LoadSourceCode(elementType));
     }
     else
     {
         CodeText = null;
     }
 }
        public override bool Open()
        {
            CodeLanguage = count % 2 == 0 ? CodeLanguage.XAML : CodeLanguage.CS;
            count++;
            DisplayName = string.Format("File{0}.{1}", count, CodeLanguage.ToString().ToLower());
            Glyph       = new BitmapImage(new Uri("/DockingDemo;component/Images/VS2010Docking/FileCS_16x16.png", UriKind.Relative));
            Description = object.Equals(CodeLanguage, CodeLanguage.XAML) ? "Windows Markup File" : "Visual C# Source file";
            Footer      = string.Format("c:\\...\\DockingDemo\\{0}", DisplayName);
            string filename = "VS2010Docking." + CodeLanguage.ToString().ToLower();

            CodeLanguageText = new CodeLanguageText(CodeLanguage, () => { return(GetCodeText(filename)); });
            return(true);
        }