当我选择乘积值数组时,ProductType[]
数组的indexValue总是为-1。
我的代码有什么问题吗?
任何帮助都很感激。谢谢!
视图模型:
public ProductType[] ProductTypesSel { get; set; }
private int _ProductTypeIndex = -1;
public int ProductTypeIndex
{
get { return _ProductTypeIndex; }
set
{
_ProductTypeIndex = value;
if (value >= 0)
{
Item.ProductType = ProductTypesSel[value].Code;
}
OnPropertyChanged(nameof(ProductTypeDisp));
Console.WriteLine(ProductTypeDisp);
}
}
public string ProductTypeDisp => Config != null && ProductTypeIndex >= 0 && ProductTypeIndex < ProductTypesSel.Length ? ProductTypesSel[ProductTypeIndex].Name : null;
代码隐藏:
int indexValue = Array.IndexOf(_Model.ProductTypesSel, productValue);
_Model.ProductTypeIndex = indexValue;
2条答案
按热度按时间8e2ybdfx1#
因为你是按值
value3
搜索的,而不是按Value3
。你的数组有Value3
。并且数组不区分大小写。对于不区分大小写的搜索,您可以使用以下命令
jutyujz02#
首先,请确保ProductType中的属性
Name
是公共的,例如:然后可以尝试使用Array.FindIndex:
有关详细信息,请查看this link。