0

如何在 B 条目中呈现在 A 条目文本中输入的文本,反之亦然?

我对 Xamarin 表单开发非常陌生。

ViewModal:下面是 Entry 字段可绑定对象,这里每个字段都有其十进制验证。要求:如果 A 条目文本发生更改,B 条目文本应根据输入的文本更改,反之亦然。

在这里,我在处理 OnPropertyChanged 时遇到了问题。

    private string _inputValues_PercentTimer;
    public string InputValues_PercentTimer
    {
        get { return _inputValues_PercentTimer; }
        set
        {
            _inputValues_PercentTimer = CalculationActions.DecimalValidation(value, _inputValues_PercentTimer, 1, 0.0, 100.0, "");
            OnPropertyChanged("InputValues_PercentTimer");
        }
    }


    private string _inputValues_AppDepth;
    public string InputValues_AppDepth
    {
        get { return _inputValues_AppDepth; }
        set
        {

            _inputValues_AppDepth = CalculationActions.DecimalValidation(value, _inputValues_AppDepth, 3, 0.000, 100.00, "");
            OnPropertyChanged("InputValues_AppDepth");
        }
    }
4

2 回答 2

0

我已经解决了这个问题,防止依赖属性之间的死锁。谢谢大家的支持。

private string _inputValues_PercentTimer;
public string InputValues_PercentTimer
{
    get { return _inputValues_PercentTimer; }
    set
    {
        if (_inputValues_PercentTimer != value && !string.IsNullOrEmpty(value))
        {
            _inputValues_PercentTimer = CalculationActions.DecimalValidation(value, _inputValues_PercentTimer, 1, 0.0, 100.0, "");
            double calRes = 5 + double.Parse(_inputValues_PercentTimer);
            _inputValues_AppDepth = calRes.ToString();
            OnPropertyChanged("InputValues_AppDepth");
            OnPropertyChanged("InputValues_PercentTimer");
        }
    }
}

private string _inputValues_AppDepth;
public string InputValues_AppDepth
{
    get { return _inputValues_AppDepth; }
    set
    {
        if (_inputValues_AppDepth != value && !string.IsNullOrEmpty(value))
        {
            _inputValues_AppDepth = CalculationActions.DecimalValidation(value, _inputValues_AppDepth, 3, 0.000, 100.00, "");
            double calRes = 5 + double.Parse(_inputValues_AppDepth);
            _inputValues_PercentTimer = calRes.ToString();
            OnPropertyChanged("InputValues_PercentTimer");
            OnPropertyChanged("InputValues_AppDepth");
        }
    }
}
于 2017-06-02T12:28:54.570 回答
0

对不起可怜的英语

使用 A 条目与您的视图模型绑定,并在 B 条目中进行交叉引用绑定(我不确定这是正确的术语)。

此链接是关于绑定基础知识的,它可能会对您有所帮助。

这是一些 XAML 代码:...

<Slider x:Name="sdrMediumBattery" 
    HorizontalOptions="FillAndExpand" 
    Value="{Binding MediumBattery}"`
    Maximum="100" 
    Margin="0,0,0,10"/>

...

<Label x:Name="lblMediumBattery" 
    BindingContext="{x:Reference sdrMediumBattery}"
    FontSize="Large" 
    HorizontalTextAlignment="Center" 
    WidthRequest="50" 
    Text="{Binding Value, StringFormat='{0:#00}'}"/>

我正在使用“sdrMediumBattery”视图(滑块)中的“值”属性并绑定到标签的“文本”属性。滑块绑定到我的视图模型。

于 2017-06-01T18:57:15.487 回答