如果授權== true,我需要我的選取器來隱藏元素。Picker給了我一個ArgumentOutOfRangeException,爲什麼會發生這種情況?
private async void Picker_Unfocused(object sender, FocusEventArgs e)
{
try
{
await DisplayAlert("try", picker.SelectedIndex.ToString(), "OK");
if (response.domains[picker.SelectedIndex].authorization == true)
{
userNameEntry.IsVisible = false;
passwordEntry.IsVisible = false;
userLabel.IsVisible = false;
}
else
{
userNameEntry.IsVisible = true;
passwordEntry.IsVisible = true;
userLabel.IsVisible = true;
}
}
catch(System.ArgumentOutOfRangeException)
{
await DisplayAlert("catch", picker.SelectedIndex.ToString(), "OK");
}
}
這沒有幫助。我得到一個ArgumentOutOfRangeException。有誰知道爲什麼?這對我來說很重要。
編輯:代碼現在是當前代碼。 displayalerts只給我0,如果我選擇第一個項目,如果我選擇第二個,等等1我仍然不知道發生了什麼事情。如果SelectedIndex
的值是0(或任何我選擇的),我不應該得到一個ArgumentOutOfRangeException,對吧?
假設'picker'是一個下拉,有充分的可能性,'的SelectedIndex = -1'這將是一個理由例外。 –
沒有選擇任何東西,它是-1或'response.domain'的大小與'picker'不同。 – juharr
**使用你的調試器** ** picker.SelectedIndex的值是什麼,以及它如何與'response'集合的邊界進行比較? –