c# - 验证 xamarin.forms 选择器
问题描述
我使用此代码在我的选择器上获取所选项目:
var loanType = picker.Items[picker.SelectedIndex];
我想在未选择任何内容但返回时验证选择器:
System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index'
我知道这是因为没有选择任何内容,所以我想问一下是否有任何解决方法。我使用语法picker.Items[picker.SelectedIndex];
而不是pickerPaymentMode.SelectedIndex
因为选择器的项目源来自通过 API 的 JSON 响应的列表
解决方案
如果选择器中未选择任何内容,则picker.SelectedIndex
值为-1。
因此,您可以在每次使用时检查picker.SelectedIndex
:
if (picker.SelectedIndex != null && picker.SelectedIndex >=0)
{
var loanType = picker.Items[picker.SelectedIndex];
}
else
{
Console.WriteLine(picker.SelectedIndex);
}
推荐阅读
- git - 当我将分支变基到 master 中的最新提交时,我应该选择哪个提交来解决合并冲突?
- node.js - 根据 prev 值更新 mongo db 字段
- java - 表单发送错误的数据
- java - 在本机映像上运行时,JOOQ 导致 Micronaut 框架出现运行时错误
- javascript - 如何在不添加HTML的情况下完成rwd图片要求
- vb.net - 关联/关联两个 numericupdown 按钮
- php - 结帐时的 WooCommerce 非欧盟增值税消息 - 更改代码以包含数组而不是单个值
- hibernate - 我不明白 JPA(Persistence Context) 的机制
- bash - 如何在另一个 bash 脚本中使用 bash 脚本更改变量?
- python-3.x - 将 Dataframe 列值转换为常用小数位