有一个UIHealthBar绑定到一个viewmodel属性,该属性从5更改为10.我想用填充颜色从旧值(5)到新值(10)进行动画处理。我怎么能用更好的方法在mvvmcross中做到这一点?
答案 0 :(得分:0)
这听起来好像可以使用一对viewmodel属性来完成 - 也许是一个总是一起改变的元组 - 例如
public class MyViewModel : MvxViewModel
{
public MyViewModel()
{
// subscribe for health updates here
}
public class HealthTuple
{
public double Old {get;set;}
public double New {get;set;}
}
private HealthTuple _health;
public HealthTuple Health
{
get { return _health; }
set { _health = value; RaisePropertyChanged(() => Health); }
}
private void OnNewHealth(HealthMessage message)
{
Health = new HealthTuple() { Old = _health.New, New = message.Value };
}
}
您的自定义UIView - UIHealthBar
可以显示单个属性或两个属性,您可以将这些属性绑定到ViewModel的运行状况值。然后,绘制/动画显示是正常的UI工具包