现在,用户可以跳过选择器选择。如何确保用户在转到下一个选择器之前选择了一个选择?例如,如果第二选择器为空,则无法移动到第三选择器。
im尝试了if else语句,但是我不知道该放在哪里,也许应该有更好的方法呢?
答案 0 :(得分:1)
您可以有一个简单的逻辑,像这样。在每个选择器中,检测到焦点事件,然后检查前一个事件的值/ selectedindex是否保持不变,然后应用逻辑/弹出窗口等。
YourPicker2.Focused += (object sender, EventArgs e) =>
{
if(YourPicker1.SelectedIndex==-1)
{
DisplayAlert("Please fill the XXX picker");
}
};
答案 1 :(得分:1)
这里是您问题的样本。 Xaml 中有选择器:
X_test_tfidf = tfidf_vect_ngram.transform(X_test) # X_test can be the entire column if you are loading from a separate file
result = loaded_model.predict(X_test_tfidf)
score = loaded_model.score(X_test_tfidf, y_test)
在 ContentPage 中,设置<Picker x:Name="PickerOne" Title="Select First" TitleColor="Red">
<Picker x:Name="PickerTwo" Title="Select Second" TitleColor="Green" IsEnabled = "False">
<Picker x:Name="PickerThree" Title="Select Three" TitleColor="Blue" IsEnabled = "False">
:
ItemSource
并添加var monkeyList = new List<string>();
monkeyList.Add("Baboon");
monkeyList.Add("Capuchin Monkey");
monkeyList.Add("Blue Monkey");
monkeyList.Add("Squirrel Monkey");
monkeyList.Add("Golden Lion Tamarin");
monkeyList.Add("Howler Monkey");
monkeyList.Add("Japanese Macaque");
PickerOne.ItemsSource = monkeyList;
PickerTwo.ItemsSource = monkeyList;
PickerThree.ItemsSource = monkeyList;
方法:
SelectedIndexChanged
答案 2 :(得分:1)
您应该使用MVVM模式和模型绑定。因此,您可以根据模型而不是每个UI控件检查验证。 一个简单的指南可以在这里找到:https://www.codeproject.com/Articles/1274851/Xamarin-Forms-Validations-Made-Simple