我希望在打开加载选择器的屏幕时,以以下方式将控件设置为值“ EXPIRED”(“ CADUCADOS”)...
问题在于,该选择器除“ EXPIRED”(“ CADUCADOS”)外还具有其他值,如下图所示……
问题是如何将Picker控件设置为“ EXPIRED”值? ,为此,我以以下方式占用了提供给int类型的属性的SelectedIndex属性
<!--PICKER-->
<Picker
Title="Seleccione un estado"
SelectedIndex="{Binding Index, Mode=TwoWay}"
ItemsSource="{Binding ListaEstados, Mode=TwoWay}"
ItemDisplayBinding="{Binding Estado}"
SelectedItem="{Binding SelectedEstado}">
</Picker>
我的ViewModel.CS:
int index;
public int Index
{
get
{
return index;
}
set
{
if (index != value)
{
index = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Index)));
}
}
}
这是用“状态”列表填充选择器的方法,在这里,我设置了索引的值...
private void LoadPickerEstados()
{
ListaEstados.Clear();
var caducados = new Estados
{
IdEstado = 0,
Estado = "CADUCADOS",
};
var aprobaryplanificar = new Estados
{
IdEstado = 1,
Estado = "POR APROBAR Y PLANIFICAR",
};
var planificar = new Estados
{
IdEstado = 4,
Estado = "POR PLANIFICAR",
};
ListaEstados.Add(caducados);
ListaEstados.Add(aprobaryplanificar);
ListaEstados.Add(planificar);
Index = 1;
}
问题在于,当设置Index = 0 =>时返回占位符,当设置Index = 1 =>时返回批准和计划(“ POR APROBAR Y PLANIFICAR”),而当设置Index = 2 =>时返回用于计划(“ POR PLANIFICAR”),但我永远无法获得值“ EXPIRED”(“ CADUCADOS”)!
这是怎么回事?我在使用正确的财产吗? 如何为选择器设置正确的值?对我有帮助吗?