我有一個由多個文本框和一個搜索按鈕組成的WPF頁面。當按下搜索按鈕時,程序需要枚舉所有控件以確定是否至少填充了一個文本框。如果全部爲空錯誤,則會顯示錯誤。正在使用mvvm-light模式。確定文本框是否包含值MVVM
一個人如何枚舉MVVM
我有一個由多個文本框和一個搜索按鈕組成的WPF頁面。當按下搜索按鈕時,程序需要枚舉所有控件以確定是否至少填充了一個文本框。如果全部爲空錯誤,則會顯示錯誤。正在使用mvvm-light模式。確定文本框是否包含值MVVM
一個人如何枚舉MVVM
有一個簡單的方法就可以達到你的目標下的所有文本框。
您可以創建ViewModel
並在此ViewModel中創建屬性,以便您可以將這些屬性綁定到XAML上的TextBox,這樣您ViewModel上的屬性將保留文本框的值,這裏是一個示例。
XAML
<TextBox Text="{Binding Name, Mode=TwoWay}"/>
<TextBox Text="{Binding Age, Mode=TwoWay}"/>
「模式=雙向」 是指每當綁定屬性變化,文本框將被自動更新。
XAML代碼行爲。
public MainWindow(){
InitializeComponent();
this.DataContext = new MainWindowViewModel();
}
你需要爲了能夠綁定屬性中設置的DataContext。
視圖模型
public class MainWindowViewModel{
private string _name;
public string Name{
get{
return _name;
}
set{
_name = value;
}
}
private int _age;
public int Age{
get{
return _age;
}
set{
_age = value;
}
}
}
就是它,當你需要檢查你的文本框爲空,每次,你可以這樣做檢查,如果您的視圖模型屬性爲空。
按照此邏輯枚舉控件並通知用戶其狀態。
AreAllBlank
(?)來枚舉每個屬性,檢查它們是否爲空。如果全部爲空,則返回true
,否則返回false
。MessageBox.Show()
並顯示相應的消息。
感謝您的信息,在這裏我有一個懷疑,我們可以驗證所有文本框是空的而不是檢查string.IsNullorEmpty()到每個文本框控件 –