Привет, я рекомендовал вам прочитать о том, что в документации существует 2 различных способа связывания с MVVMCross
Тибет и Рио, на самом деле вы используете Тибет, но вы также можете использовать метод Рио, метод Рио, который вы можно уменьшить код до меньшего количества строк кода.
Вы можете использовать Rio, когда у вас есть маленькие ViewModels, как я покажу вам в следующем примере.
пример
//Rio Method
public class MathsViewModel
{
public readonly INC<double> SubTotal = new NC<double>();
public readonly INC<double> Percent = new NC<double>();
public void Calculate()
{
Total.Value = SubTotal.Value * Percent.Value;
}
public readonly INC<double> Total = new NC<double>();
}
А теперь тот же код с использованием Тибета
//Tibet method
public class MathsViewModel
{
private double _subTotal;
public double SubTotal
{
get => _subTotal;
set => SetProperty(ref _subTotal, value);
}
private double _percent;
public double Percent
{
get => _percent;
set => SetProperty(ref _percent, value);
}
private ICommand _calculateCommand;
public ICommand CalculateCommand;
{
get
{
_calculateCommand = _calculateCommand ?? new MvxCommand(Calculate);
return _calculateCommand;
}
}
private void Calculate()
{
Total = SubTotal * Percent;
}
private double _total;
public double Total
{
get => _total;
set => SetProperty(ref _total, value);
}
}
Для более подробной информации читайте документацию о Рио.
https://www.mvvmcross.com/documentation/fundamentals/data-binding
Оба действительны типы привязки с mvvmcross, метод Тибета, который вы применяете в своем коде, прекрасно работает отлично.
Я принесу вам этот, чтобы вы могли прочитать об этом и расширить свои знания.
Я бы использовал Рио для небольших моделей и Тибет для более сложных.
Но если вы хотите иметь более однородный код, вы можете применять Tibet на протяжении всего проекта.
Я уже работал над проектами, в которых мы используем только Tibet, и все идеально.