コード例 #1
0
        public FileManagerViewModel(ITransferManagerViewModel transferManager, IUserSettingsProvider userSettings)
        {
            _transferManager = transferManager;
            _userSettings    = userSettings;
            UserMessages     = new ObservableCollection <IUserMessageViewModel> {
                new NoMessagesViewModel()
            };
            UserMessages.CollectionChanged += (sender, args) => NotifyPropertyChanged(UNREADMESSAGECOUNT);

            SwitchPaneCommand        = new DelegateCommand <EventInformation <KeyEventArgs> >(ExecuteSwitchPaneCommand, CanExecuteSwitchPaneCommand);
            EditCommand              = new DelegateCommand(ExecuteEditCommand, CanExecuteEditCommand);
            CopyCommand              = new DelegateCommand <IEnumerable <FileSystemItem> >(ExecuteCopyCommand, CanExecuteCopyCommand);
            MoveCommand              = new DelegateCommand <IEnumerable <FileSystemItem> >(ExecuteMoveCommand, CanExecuteMoveCommand);
            NewFolderCommand         = new DelegateCommand(ExecuteNewFolderCommand, CanExecuteNewFolderCommand);
            DeleteCommand            = new DelegateCommand <IEnumerable <FileSystemItem> >(ExecuteDeleteCommand, CanExecuteDeleteCommand);
            OpenUserMessageCommand   = new DelegateCommand <UserMessageCommandParameter>(ExecuteOpenUserMessageCommand);
            RemoveUserMessageCommand = new DelegateCommand <UserMessageViewModel>(ExecuteRemoveUserMessageCommand);

            EventAggregator.GetEvent <OpenNestedPaneEvent>().Subscribe(OnOpenNestedPane);
            EventAggregator.GetEvent <CloseNestedPaneEvent>().Subscribe(OnCloseNestedPane);
            EventAggregator.GetEvent <ActivePaneChangedEvent>().Subscribe(OnActivePaneChanged);
            EventAggregator.GetEvent <RefreshPanesEvent>().Subscribe(OnRefreshPanes);
            EventAggregator.GetEvent <RaiseCanExecuteChangesEvent>().Subscribe(OnRaiseCanExecuteChanges);
            EventAggregator.GetEvent <NotifyUserMessageEvent>().Subscribe(OnNotifyUserMessage);
            EventAggregator.GetEvent <ExecuteFileOperationEvent>().Subscribe(OnExecuteFileOperation);
            EventAggregator.GetEvent <CanExecuteFileOperationEvent>().Subscribe(OnCanExecuteFileOperation);
        }
コード例 #2
0
        public FileManagerViewModel(ITransferManagerViewModel transferManager, IUserSettingsProvider userSettings)
        {
            _transferManager = transferManager;
            _userSettings = userSettings;
            UserMessages = new ObservableCollection<IUserMessageViewModel> { new NoMessagesViewModel() };
            UserMessages.CollectionChanged += (sender, args) => NotifyPropertyChanged(UNREADMESSAGECOUNT);

            SwitchPaneCommand = new DelegateCommand<EventInformation<KeyEventArgs>>(ExecuteSwitchPaneCommand, CanExecuteSwitchPaneCommand);
            EditCommand = new DelegateCommand(ExecuteEditCommand, CanExecuteEditCommand);
            CopyCommand = new DelegateCommand<IEnumerable<FileSystemItem>>(ExecuteCopyCommand, CanExecuteCopyCommand);
            MoveCommand = new DelegateCommand<IEnumerable<FileSystemItem>>(ExecuteMoveCommand, CanExecuteMoveCommand);
            NewFolderCommand = new DelegateCommand(ExecuteNewFolderCommand, CanExecuteNewFolderCommand);
            DeleteCommand = new DelegateCommand<IEnumerable<FileSystemItem>>(ExecuteDeleteCommand, CanExecuteDeleteCommand);
            OpenUserMessageCommand = new DelegateCommand<UserMessageCommandParameter>(ExecuteOpenUserMessageCommand);
            RemoveUserMessageCommand = new DelegateCommand<UserMessageViewModel>(ExecuteRemoveUserMessageCommand);

            EventAggregator.GetEvent<OpenNestedPaneEvent>().Subscribe(OnOpenNestedPane);
            EventAggregator.GetEvent<CloseNestedPaneEvent>().Subscribe(OnCloseNestedPane);
            EventAggregator.GetEvent<ActivePaneChangedEvent>().Subscribe(OnActivePaneChanged);
            EventAggregator.GetEvent<RaiseCanExecuteChangesEvent>().Subscribe(OnRaiseCanExecuteChanges);
            EventAggregator.GetEvent<NotifyUserMessageEvent>().Subscribe(OnNotifyUserMessage);
            EventAggregator.GetEvent<ExecuteFileOperationEvent>().Subscribe(OnExecuteFileOperation);
            EventAggregator.GetEvent<CanExecuteFileOperationEvent>().Subscribe(OnCanExecuteFileOperation);
        }