Ejemplo n.º 1
0
        public MainViewModel(ILocalChatService localChatService)
        {
            _localChatService = localChatService;
            _startCommand     = new Lazy <RelayCommand>(() => new RelayCommand(Start, () => IsValid && !IsRunning));
            _stopCommand      = new Lazy <RelayCommand>(() => new RelayCommand(Stop, () => IsRunning));
            _clearLogCommand  = new Lazy <RelayCommand>(() => new RelayCommand(ClearLog));

            NetworkInterfacesNames = _localChatService.NetworkInterfacesNames();
            InitNLog();
        }
Ejemplo n.º 2
0
        public MainViewModel(ILocalChatService localChatService, IDialogService dialogService)
        {
            _dialogService    = dialogService;
            _localChatService = localChatService;
            _localChatService.ChatCallbackEvent += OnChatCallbackEvent;

            _loginCommand       = new Lazy <RelayCommand>(() => new RelayCommand(Login, () => !IsConnected));
            _logoutCommand      = new Lazy <RelayCommand>(() => new RelayCommand(Logout, () => IsConnected));
            _exitCommand        = new Lazy <RelayCommand>(() => new RelayCommand(Exit));
            _sendMessageCommand = new Lazy <RelayCommand>(() => new RelayCommand(SendMessage, () => IsConnected && !String.IsNullOrEmpty(Message)));

            // позволяет обращаться к ObservableCollection's из не основных (не UI) потоков
            BindingOperations.EnableCollectionSynchronization(Persons, _personsCollectionLock);
        }