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(); }
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); }