상속: IVsSelectionEvents
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Background = Helpers.VsTheming.GetWindowBackground();

            Version.Text = "Version " + Assembly.GetExecutingAssembly().GetName().Version;

            var solutionManager = new SolutionManager();

            txtStatus.Text = "Valid Umbraco Solution running -> \n";
            txtStatus.Text += "Is solution open? " + ReturnYesNo(solutionManager.IsSolutionOpen) + "\n";
            txtStatus.Text += "Is an Umbraco website solution? " + ReturnYesNo(solutionManager.DefaultProject.IsUmbracoWebsite()) + "\n";
            txtStatus.Text += "Is database configured in config? " + ReturnYesNo(solutionManager.DefaultProject.IsDatabaseConfigured()) + "\n";
            txtStatus.Text += "Default Project Name: " + solutionManager.DefaultProjectName + "\n";
            txtStatus.Text += "Default Project (FullPath): " + solutionManager.DefaultProject.GetFullPath() + "\n";
            txtStatus.Text += "Default Project (OutputPath): " + solutionManager.DefaultProject.GetOutputPath() + "\n";
        }
        private void ToolWindow_Loaded(object sender, RoutedEventArgs e)
        {
            if (_loaded == false)
            {
                Package = (UmbracoStudioPackage)_parentWindow.Package;
                var overflowGrid = ExplorerToolbar.Template.FindName("OverflowGrid", ExplorerToolbar) as FrameworkElement;
                if (overflowGrid != null)
                {
                    overflowGrid.Visibility = Visibility.Collapsed;
                }
                ExplorerToolbar.Foreground = Helpers.VsTheming.GetWindowText();
                ExplorerToolbar.Background = Helpers.VsTheming.GetCommandBackground();
                ToolTray.Background = ExplorerToolbar.Background;
                sep1.Background = Helpers.VsTheming.GetToolbarSeparatorBackground();
                DataTreeView.Background = grid1.Background = Helpers.VsTheming.GetToolWindowBackground();
                Updated.Visibility = System.Windows.Visibility.Hidden;

                // Animate updated button
                DoubleAnimation myDoubleAnimation = new DoubleAnimation();
                myDoubleAnimation.From = 0.1;
                myDoubleAnimation.To = 1.0;
                myDoubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(5));
                myDoubleAnimation.AutoReverse = true;
                myDoubleAnimation.RepeatBehavior = RepeatBehavior.Forever;

                _myStoryboard = new Storyboard();
                _myStoryboard.Children.Add(myDoubleAnimation);
                Storyboard.SetTargetName(myDoubleAnimation, UpdatedText.Name);
                Storyboard.SetTargetProperty(myDoubleAnimation, new PropertyPath(TextBlock.OpacityProperty));

                var rootText = "No Umbraco solution was found...";
                _solutionManager = new SolutionManager();
                if (UmbracoApplicationContext.Current == null || UmbracoApplicationContext.Current.IsReady == false)
                {
                    var isUmbracoWebsite = _solutionManager.DefaultProject.IsUmbracoWebsite();
                    var isDatabaseConfigured = _solutionManager.DefaultProject.IsDatabaseConfigured();
                    if (isUmbracoWebsite && isDatabaseConfigured)
                    {
                        rootText = _solutionManager.DefaultProjectName;

                        UmbracoApplicationContext.Current =
                            new UmbracoApplicationContext(_solutionManager.DefaultProject.GetFullPath(),
                                                          _solutionManager.DefaultProject.GetConnectionString(),
                                                          _solutionManager.DefaultProject.GetProviderName());
                        UmbracoApplicationContext.Current.StartApplication();
                    }
                }

                TxtDataSources.Text = rootText;

                BuildUmbracoTrees();
            }

            _loaded = true;
        }