コード例 #1
0
ファイル: SnoopUI.xaml.cs プロジェクト: cisnetsov/snoopwpf
        private void InitShell()
        {
            if (ShellConstants.IsPowerShellInstalled)
            {
                var shell = new EmbeddedShellView();
                shell.Start(this);

                this.PowerShellTab.Content = shell;

                RoutedPropertyChangedEventHandler <object> onSelectedItemChanged = (sender, e) => shell.NotifySelected(this.CurrentSelection);
                Action <VisualTreeItem> onProviderLocationChanged = item => this.Dispatcher.BeginInvoke(new Action(() =>
                {
                    item.IsSelected       = true;
                    this.CurrentSelection = item;
                }));

                // sync the current location
                this.Tree.SelectedItemChanged += onSelectedItemChanged;
                shell.ProviderLocationChanged += onProviderLocationChanged;

                // clean up garbage!
                this.Closed += delegate
                {
                    this.Tree.SelectedItemChanged -= onSelectedItemChanged;
                    shell.ProviderLocationChanged -= onProviderLocationChanged;
                };
            }
        }
コード例 #2
0
ファイル: SnoopUI.xaml.cs プロジェクト: cplotts/snoopwpf
        private void InitShell()
        {
            if (ShellConstants.IsPowerShellInstalled)
            {
                var shell = new EmbeddedShellView();
                shell.Start(this);

                this.PowerShellTab.Content = shell;

                RoutedPropertyChangedEventHandler<object> onSelectedItemChanged = (sender, e) => shell.NotifySelected(this.CurrentSelection);
                Action<VisualTreeItem> onProviderLocationChanged = item => this.Dispatcher.BeginInvoke(new Action(() =>
                {
                    item.IsSelected = true;
                    this.CurrentSelection = item;
                }));

                // sync the current location
                this.Tree.SelectedItemChanged += onSelectedItemChanged;
                shell.ProviderLocationChanged += onProviderLocationChanged;

                // clean up garbage!
                this.Closed += delegate
                {
                    this.Tree.SelectedItemChanged -= onSelectedItemChanged;
                    shell.ProviderLocationChanged -= onProviderLocationChanged;
                };
            }
        }
コード例 #3
0
ファイル: SnoopUI.xaml.cs プロジェクト: KeithJRome/snoopwpf
        private void InitShell()
        {
            if (ShellConstants.IsPowerShellInstalled)
            {
                var shell = new EmbeddedShellView();
                shell.Start(this);

                this.Tree.SelectedItemChanged += delegate { shell.NotifySelected(this.CurrentSelection); };

                shell.ProviderLocationChanged
                    += item =>
                       this.Dispatcher.BeginInvoke(new Action(() =>
                       {
                           item.IsSelected = true;
                           this.CurrentSelection = item;
                       }));

                this.PowerShellTab.Content = shell;
            }
        }