在下面的示例中,我們使用名爲Message的單個屬性將ViewModel綁定到視圖。該屬性綁定到具有雙向綁定的TextBox。對於這個測試,我們在二傳手中做了一些價值強制,並且將財產再次改變。屬性設置器中的脅迫值 - Silverlight 5
在Silverlight 4中,這個功能非常完美。如果消息屬性在屬性設置器中更改,那麼文本框會看到新值。例如。在文本框中鍵入「A」並失去焦點會導致Aaaaaaaaaaa在值發生變化時出現。
但是,在Silverlight 5中,這似乎已被破壞/更改。在setter中修改值後,getter不會被命中。在兩者之間添加一個IValueConverter,顯示Convert/ConvertBack方法從未被擊中。看起來版本4和版本5之間的根本性變化了。是否有任何改變?這是一個錯誤?
public class ViewModel : INotifyPropertyChanged
{
private string _message;
public event PropertyChangedEventHandler PropertyChanged;
public string Message
{
get
{
return _message;
}
set
{
_message = value;
this.RaisePropertyChanged();
if (_message.Length < 10)
{
_message = _message.PadRight(10, 'a');
this.RaisePropertyChanged();
}
}
}
private void RaisePropertyChanged()
{
var handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs("Message"));
}
}
}