0

有一个 UIHealthBar 绑定到从 5 更改为 10 的 viewmodel 属性。我想用填充颜色从旧值 (5) 到新值 (10) 对其进行动画处理。我怎样才能用更好的方法在 mvvmcross 中做到这一点?

4

1 回答 1

0

这听起来像是可以用一对视图模型属性来完成——也许是一个总是一起改变的元组——例如

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 的 Health 值。绘制/动画显示然后是“正常的 UI 工具包工作”

于 2013-04-23T18:58:29.987 回答