public DisplayValue ( Expression <Func <double> > source, Unit sourceUnit, Unit[] units, double minSourceValue = double.NaN, double maxSourceValue = double.NaN ) { Bindings = new BindingManager(); Units = new DisplayUnits(this, sourceUnit, units); Bindings.BindTwoWay ( source, () => Value, sourceValue => UnitConverter.Convert(sourceValue, from: Units.Source, to: Units.Target), targetValue => UnitConverter.Convert(targetValue, from: Units.Target, to: Units.Source) ); MinSourceValue = minSourceValue; MaxSourceValue = maxSourceValue; Refresh(); }
void AddBindings() { Bindings.BindOneWay ( () => Voltmeter.Readings.TimeStamp, () => LastUpdate ) .RefreshTarget(); Bindings.BindOneWay ( () => Voltmeter.Readings.VoltageScale, () => VoltageScale ) .RefreshTarget(); Bindings.BindOneWay ( () => Voltmeter.IsRunning, () => IsRunning ) .RefreshTarget(); Bindings.BindTwoWay ( () => Voltmeter.Use10BitVoltage, () => Use10BitVoltage ) .RefreshTarget(); Bindings.BindTwoWay ( () => Voltmeter.PollingInterval, () => PollingInterval ) .RefreshTarget(); }
public DisplayValue( Expression<Func<double>> source, Unit sourceUnit, Unit[] units, double minSourceValue = double.NaN, double maxSourceValue = double.NaN ) { Bindings = new BindingManager(); Units = new DisplayUnits(this, sourceUnit, units); Bindings.BindTwoWay ( source, () => Value, sourceValue => UnitConverter.Convert(sourceValue, from: Units.Source, to: Units.Target), targetValue => UnitConverter.Convert(targetValue, from: Units.Target, to: Units.Source) ); MinSourceValue = minSourceValue; MaxSourceValue = maxSourceValue; Refresh(); }