예제 #1
0
        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();
        }
예제 #2
0
        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();
        }
예제 #3
0
        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();
        }