public ReceiverViewModel(Receiver dataItem) { Closable = true; DataItem = dataItem; DisplayName = DataItem.DisplayName; PortNumber = DataItem.PortNumber; ReceiverType = DataItem.ReceiverType; IpAddress = DataItem.IpAddress; Broadcast = DataItem.Broadcast; Encoding = DataItem.Encoding; SaveCommand = new TaskCommand(SaveExecute, d => !IsActive && CanSave); ToggleCommand = new TaskCommand(ToggleExecute, d => !CanSave || IsActive); ClearMessagesCommand = new TaskCommand(ClearMessagesExecute, d => Messages.Count > 0); Encodings = new ObservableCollection <SelectorOption <Encoding> >(EncodingOptionsFactory.GetAll()); WhenPropertyChanged.Subscribe(name => { if (new[] { nameof(DisplayName), nameof(PortNumber), nameof(ReceiverType), nameof(IpAddress), nameof(Broadcast), nameof(Encoding) }.Contains(name)) { CanSave = true; } if (name == nameof(IsActive)) { OnPropertyChanged(nameof(ToggleMessage)); } }); }
public TransmitterViewModel(Transmitter dataItem, IDialogService dialogService, MainViewModel mainViewModel) { DataItem = dataItem; _dialogService = dialogService; _mainViewModel = mainViewModel; Closable = true; DisplayName = DataItem.DisplayName; PortNumber = DataItem.PortNumber; TransmitterType = DataItem.TransmitterType; Broadcast = DataItem.Broadcast; IpAddress = DataItem.IpAddress; Encoding = DataItem.Encoding; SaveCommand = new TaskCommand(SaveExecute, d => !IsActive && CanSave); ToggleCommand = new TaskCommand(ToggleExecute, d => !CanSave || IsActive); NewMessageCommand = new TaskCommand(NewMessageExecute); ClearLogCommand = new TaskCommand(ClearLogExecute, d => Messages.Count > 0); Encodings = new ObservableCollection <SelectorOption <Encoding> >(EncodingOptionsFactory.GetAll()); WhenPropertyChanged.Subscribe(name => { if (new[] { nameof(DisplayName), nameof(PortNumber), nameof(TransmitterType), nameof(Broadcast), nameof(IpAddress), nameof(Encoding) }.Contains(name)) { CanSave = true; } if (name == nameof(IsActive)) { OnPropertyChanged(nameof(ToggleMessage)); } }); }
public void SubscribeIsNotOK(double notOKDelayAlarmTime) { if (isNotOKChangedSubscription != null) { isNotOKChangedSubscription.Dispose(); } isNotOKChangedSubscription = WhenPropertyChanged.Where(o => o.ToString() == "IsNotOK").Throttle(TimeSpan.FromMilliseconds(notOKDelayAlarmTime)).Subscribe(OnIsNotOKChanged); }
public void SubscribeAlarmGrade(double alarmDelay) { if (alarmGradeChangedSubscription != null) { alarmGradeChangedSubscription.Dispose(); } alarmGradeChangedSubscription = WhenPropertyChanged.Where(o => o.ToString() == "AlarmGrade").Throttle(TimeSpan.FromMilliseconds(alarmDelay)).Subscribe(OnAlarmGradeChanged); }
public MainRegionViewModel(ILocalConfiguration localConfiguration, IRegionManager regionManager, IEventAggregator eventAggregator, ILoginUserService loginUserService, IUserManageService userManageService, ISignalProcess signalProcess) { _localConfiguration = localConfiguration; _regionManager = regionManager; _eventAggregator = eventAggregator; _loginUserService = loginUserService; _userManageService = userManageService; _signalProcess = signalProcess; ThemeManager.AddAppTheme("BaseGray", new Uri("pack://application:,,,/AIC.Resources;component/Styles/BaseGray.xaml")); // create accent color menu items for the demo this.AccentColors = ThemeManager.Accents .Select(a => new AccentColorMenuData() { Name = a.Name, ColorBrush = a.Resources["AccentColorBrush"] as Brush }) .ToList(); // create metro theme color menu items for the demo this.AppThemes = ThemeManager.AppThemes .Select(a => new AppThemeMenuData() { Name = a.Name, BorderColorBrush = a.Resources["BlackColorBrush"] as Brush, ColorBrush = a.Resources["WhiteColorBrush"] as Brush }) .ToList(); MenuManageList = _loginUserService.MenuManageList; ExceptionModel = _loginUserService.ExceptionModel; readDataTimer.Tick += new EventHandler(timeCycle); readDataTimer.Interval = new TimeSpan(0, 0, 0, 1); readDataTimer.Start(); WhenPropertyChanged.Where(o => o.ToString() == "Alarm").Subscribe(OnAlarmGradeChanged); _eventAggregator.GetEvent <LoginEvent>().Subscribe(LoginFinishEvent); getTree(); }
public DataObject() { Rules.Add(new DelegateRule <DataObject>("CompletionText", "Completion Text can not be empty!", x => !string.IsNullOrEmpty(x.CompletionText))); settings = new Settings(); TargetDate = settings.TargetDate; TextColor = settings.TextColor; ShadowColor = settings.ShadowColor; MinimumLevel = settings.MinimumLevel; MaximumLevel = settings.MaximumLevel; CompletionText = settings.CompletionText; CountdownFontSize = settings.CountdownFontSize; CountdownFontFamily = settings.CountdownFontFamily; MonitorList = new ObservableCollection <string>(); foreach (var m in Monitor.AllMonitors) { MonitorList.Add(m.Name.TrimStart(new char[] { '\\', '.' }) + (m.IsPrimary ? " (Primary)" : "")); } SelectedMonitor = settings.SelectedMonitor; WhenPropertyChanged.Where(x => settingsProperties.Contains(x)).Subscribe(x => saveProperties()); }