gpt4 book ai didi

c# - Xamarin Forms Picker 中的 System.ArgumentOutOfRangeException

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:00 27 4
gpt4 key购买 nike

我在 Xamarin Forms 中使用选择器,如果用户选择它,我会从选择器中获取选定的值。

  if (loantype.Items[loantype.SelectedIndex] != null)
{
//If user selects a value , code goes here
}

但是如果用户没有从选择器中选择一个值,则应该检查它。我想检查对象内部是否为 null。

  AddNewTeam addnewteam = new AddNewTeam
{

first_name = firstname.Text,
last_name = lastname.Text,
email = email.Text,
mobile = mobile.Text,


};

但是我得到了

System.ArgumentOutOfRangeException

已抛出错误。我也尝试了不同的解决方案。

谁能帮我解决这个问题。

最佳答案

ArgumentOutOfRangeException是索引项大于列表/数组的大小或负数的结果。 Picker当未选择值时没有事件,但它确实有 SelectedIndexChanged事件。例如:

<Picker
ItemsSource="{Binding LoanTypesSelection}"
SelectedIndexChanged="Handle_SelectedIndexChanged"/>

我已经为这个 Picker 分配了一个事件这样当索引确实发生变化时,它将触发 Handle_SelectedIndexChanged ,否则什么都不会发生/改变

在我的处理程序中:

public string[] LoanTypesSelection => new string[]
{
"Student Loan",
"Mortgage"
};

void Handle_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(!(sender is Picker loantype))
{
return;
}

if ((loantype.SelectedIndex > LoanTypesSelection.Length) ||
(loantype.SelectedIndex < 0))
{
// Display an error message?
return;
}

MyLabel.Text = LoanTypesSelection[loantype.SelectedIndex]; // Or whatever
}

关于c# - Xamarin Forms Picker 中的 System.ArgumentOutOfRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52871028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com