コード例 #1
0
        public ContainerPickerViewModel(
            IAccountContextFactory accountContextFactory,
            IViewModelFactory viewModelFactory,
            IAccountDirectory accountDirectory)
        {
            _accountContextFactory = accountContextFactory;
            _viewModelFactory      = viewModelFactory;
            _accountDirectory      = accountDirectory;
            AddCancelButton();
            AddOkButton(button =>
            {
                button.Text    = "Select";
                button.Command = SelectCommand;
            });

            RootNodes = new ObservableCollection <TreeNodeViewModel>();
            Title     = "Pick a container";
            LoadAccounts();
        }
コード例 #2
0
        public AccountFolderNodeViewModel(
            CosmosAccountFolder folder,
            AccountFolderNodeViewModel?parent,
            AccountCommands accountCommands,
            IAccountContextFactory accountContextFactory,
            IAccountDirectory accountDirectory,
            IViewModelFactory viewModelFactory)
        {
            _folder                = folder;
            Parent                 = parent;
            _accountCommands       = accountCommands;
            _accountContextFactory = accountContextFactory;
            _accountDirectory      = accountDirectory;
            _viewModelFactory      = viewModelFactory;

            Commands = new[]
            {
                new CommandViewModel("Add account", _accountCommands.AddCommand, this)
            };
        }
コード例 #3
0
        public AccountsViewModel(
            AccountCommands accountCommands,
            IAccountContextFactory accountContextFactory,
            IViewModelFactory viewModelFactory,
            IAccountDirectory accountDirectory,
            IMessenger messenger)
        {
            _accountCommands       = accountCommands;
            _accountContextFactory = accountContextFactory;
            _viewModelFactory      = viewModelFactory;
            _accountDirectory      = accountDirectory;
            _messenger             = messenger;
            RootNodes = new ObservableCollection <TreeNodeViewModel>();
            LoadAccounts();

            _messenger.Subscribe(this).To <AccountAddedMessage>((vm, message) => vm.OnAccountAdded(message));
            _messenger.Subscribe(this).To <AccountEditedMessage>((vm, message) => vm.OnAccountEdited(message));
            _messenger.Subscribe(this).To <AccountRemovedMessage>((vm, message) => vm.OnAccountRemoved(message));

            Commands = new[]
            {
                new CommandViewModel("Add account", _accountCommands.AddCommand, null)
            };
        }