2013-04-23 52 views

回答

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可以公開一個單一的屬性或兩個屬性,您可以綁定這些對視圖模型的健康值。繪圖/動畫顯示的是那麼「正常的UI套件的工作」

+0

我看到實現這個直接上mvvmlight代碼「無效RaisePropertyChanged (字符串propertyName的,T屬性oldValue,T NEWVALUE,布爾廣播)」 – 2013-04-24 01:50:06

+0

可以使用INPC發送自定義propertychangedmessage如果你想 - 但沒有一個標準的Windows控件知道該怎麼做與擴展的消息,也不做任何,我已經延長了MVX的標準Android或iOS控制。如果你認爲支持這一點很重要,那麼你可以自己實現它 - 這只是一個自定義的eventargs類。也歡迎您打開GitHub上一個功能要求 - 但我不親自指望有很多使用情況下使用這個,所以我不親自期望這是高優先級 – Stuart 2013-04-24 06:22:54

+0

實際看到https://github.com/ ericschultz/GalaSoft.MvvmLight/BLOB /主/ GalaSoft.MvvmLight/GalaSoft.MvvmLight%20(NET35)/ObservableObject.cs我不認爲mvvmlight實際發送的屬性oldValue和NEWVALUE給我看看UI無論是 – Stuart 2013-04-24 06:29:46

相關問題