數據驗證可以以不同的方式顯示在UI中。 例如,您可以顯示一個消息框或顯示一個標籤。
假設您想在UI中的某個地方有一個帶有紅色文本的標籤來顯示該錯誤。
我假設你有一個'保存'按鈕或類似的在你的用戶界面。
您可以將按鈕綁定到視圖模型中的SaveCommand
。
在執行SaveCommand
時,可以檢查所有數據是否有效並設置Error
字符串屬性。
您可以將標籤的文本綁定到Error
屬性。此外,您還可以將標籤的可見性綁定到條件(Error!= null)。
public class SettingsViewModel : MvxViewModel
{
string firstName;
public string FirstName
{
get { return this.firstName; }
set
{
if(this.firstName != value)
{
this.firstName = value;
this.RaisePropertyChanged(()=> this.FirstName);
this.Error = null; // reset error
}
}
}
public string Error { get; private set; }
public ICommand SaveCommand { get { return new MvxCommand(this.Save); } }
void Save()
{
// reset error
this.Error = null;
if(string.IsNullOrEmpty(this.FirstName))
{
this.Error = "First name is empty";
}
if(string.IsNullOrEmtpy(this.Error))
{
// no error, save settings...
}
else
{
this.RaisePropertyChanged(()=> this.Error);
}
}
}
謝謝安德烈,但我一直在尋找一個框架來做到這一點,而不是滾動我自己的。我原來的問題應該更清楚了。 MvvmCross內置了什麼?我查看了驗證插件,但沒有關於如何使用它的示例。 – rideintothesun 2014-10-05 00:27:57
是的,你應該已經更清晰:) http://bit.ly/1oItD2Q – 2014-10-05 07:37:50
我做了Google它(我笑了!),它只是沒有如何使用它的例子,我明白了。 – rideintothesun 2014-10-05 09:50:14