public VoltmeterViewModel(IDeviceManager deviceManager, ITimer timer = null) { Contract.Requires<ArgumentNullException>(deviceManager != null); Bindings = new BindingManager(); Voltmeter = new Model.Voltmeter(deviceManager, new CurrentContextTaskQueue()); DeviceMonitor = new DeviceMonitor(deviceManager, DeviceConstants.SearchPattern); StopWatch = new Stopwatch(); Timer = timer ?? new UiTimer { AutoReset = true, Interval = TimeSpan.FromMilliseconds(50), }; Timer.Tick += (s, e) => { if (IsRunning) this.Notify(PropertyChanged, me => me.SessionDuration); }; AvailableDevices.ListChanged += (s, e) => AutoSelectDevice(forceDeviceChange: false); AddDisplayValues(); AddBindings(); AutoSelectDevice(forceDeviceChange: true); }
public VoltmeterViewModel(IDeviceManager deviceManager, ITimer timer = null) { Contract.Requires <ArgumentNullException>(deviceManager != null); Bindings = new BindingManager(); Voltmeter = new Model.Voltmeter(deviceManager, new CurrentContextTaskQueue()); DeviceMonitor = new DeviceMonitor(deviceManager, DeviceConstants.SearchPattern); StopWatch = new Stopwatch(); Timer = timer ?? new UiTimer { AutoReset = true, Interval = TimeSpan.FromMilliseconds(50), }; Timer.Tick += (s, e) => { if (IsRunning) { this.Notify(PropertyChanged, me => me.SessionDuration); } }; AvailableDevices.ListChanged += (s, e) => AutoSelectDevice(forceDeviceChange: false); AddDisplayValues(); AddBindings(); AutoSelectDevice(forceDeviceChange: true); }