private void TreeViewItem_MouseClick(object sender, MouseButtonEventArgs e)
        {
            ItemTemplateControl.Visibility   = Visibility.Hidden;
            FolderTemplateControl.Visibility = Visibility.Hidden;
            var tvit = sender as StackPanel;
            var item = tvit.DataContext as Item;

            if (item != null)
            {
                var detailedItem = LinqToSitecoreFactory.GetItem(item.Id);
                var templateItem = LinqToSitecoreFactory.GetItem(detailedItem.TemplateKey == "template" ? detailedItem.Id : detailedItem.TemplateId);
                var items        = LinqToSitecoreFactory.GetChildren(item.Id);
                item.Children.Clear();
                foreach (var i in items)
                {
                    item.Children.Add(i);
                }

                item.IsExpanded = true;
                if (templateItem != null)
                {
                    templateItem.Namespace = LinqToSitecoreFactory.ProjectNamespace;
                    item.Namespace         = LinqToSitecoreFactory.ProjectNamespace;


                    ItemTemplateControl.DataContext = templateItem;
                    ItemTemplateControl.Visibility  = Visibility.Visible;
                }
            }
        }
 private void SaveButton_Click(object sender, RoutedEventArgs e)
 {
     Settings.SitecoreLogin    = SettingAccount.Text;
     Settings.SitecoreUrl      = SettingSitecoreUrl.Text;
     Settings.SitecorePassword = SettingPassword.Text;
     Settings.Save();
     LinqToSitecoreFactory.Refresh();
     Close();
 }
 protected void SettingsWindow_Closed(object sender, EventArgs e)
 {
     if (LinqToSitecoreFactory.IsValidConnection())
     {
         GetRoot();
     }
     else
     {
         MessageBox.Show(unable_to_connect);
     }
 }
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     ItemTemplateControl.Visibility   = Visibility.Hidden;
     FolderTemplateControl.Visibility = Visibility.Hidden;
     if (!LinqToSitecoreFactory.IsValidConnection())
     {
         MessageBox.Show(unable_to_connect);
         var settingsWindow = new LinqToSitecoreSettings();
         settingsWindow.Closed += SettingsWindow_Closed;
         settingsWindow.ShowDialog();
     }
     else
     {
         GetRoot();
     }
 }
        private void GetRoot()
        {
            var root = LinqToSitecoreFactory.GetChildren(SitecoreGuids.Root);

            SitecoreItemsTree.ItemsSource = new ObservableCollection <Item>(root);
        }