什麼是棱鏡MVVM框架做計算性能的最佳方式是什麼?我有一個Xamarin.Forms
與應用程序在虛擬機上的以下屬性:計算屬性在棱鏡
private string _title;
public string Title
{
get { return _title; }
set
{
SetProperty(ref _title, value);
OnPropertyChanged(() => Message);
}
}
private string _name = "John";
public string Name
{
get { return _name; }
set
{
SetProperty(ref _name, value);
OnPropertyChanged(() => Message);
}
}
public string Message
{
get { return String.Format("{0},{1}", Name, Title); }
}
代碼工作就好了。然而,棱鏡庫警告我在OnPropertyChanged
語句中使用RaisePropertyChanged
這將避免使用魔法字符串和OnPropertyChanged與表達效率較低。
有一些其他方法來通知視圖重讀「消息」每當姓名或名稱的改變?
它讓我想也許棱鏡有辦法做一些事情,讓「名」和「標題」不必知道的消息,以便進行更新的消息。如果可能,這將是優選的。計算屬性的「棱鏡」方式是什麼?我在Xamarin.Forms
文檔中找不到任何示例。
線'的SetProperty(參見_name,值);'而事實上,所有視圖模型從'BindableBase'(INotifyPropertyChanged'的'實現)繼承已更新,只要你更新這些屬性的UI。你永遠不必顯式調用'RaisePropertyChanged'或'OnPropertyChanged'。因此,您需要將您的消息設置爲與Name一樣的屬性。 – ethane