예제 #1
0
        public async Task Refresh()
        {
            var progressDialog = await MainWindow.Instance.ShowProgressAsync("Loading", "");

            progressDialog.SetIndeterminate();

            await Refresh(progressDialog);

            await progressDialog.CloseAsync();

            NothingSelected?.Invoke(this, null);
        }
예제 #2
0
        public KeyVaultTreeControl()
        {
            InitializeComponent();

            ContextMenu = new ContextMenu();
            var secretDelete = new MenuItem()
            {
                Header = "Refresh All"
            };

            secretDelete.Click += async(sender, args) =>
            {
                await Refresh();

                NothingSelected?.Invoke(this, null);
            };
            ContextMenu.Items.Add(secretDelete);

            ContextMenu.Items.Add(new Separator());

            var vaultCreate = new MenuItem()
            {
                Header = "New Vault"
            };

            vaultCreate.Click += (sender, args) => VaultCreating?.Invoke(this, new EventArgs());
            ContextMenu.Items.Add(vaultCreate);

            this.PreviewMouseRightButtonDown += (sender, args) =>
            {
                TreeViewItem treeViewItem = VisualUpwardSearch(args.OriginalSource as DependencyObject);

                if (treeViewItem != null)
                {
                    treeViewItem.Focus();
                    args.Handled = true;
                }
            };
        }