我有一个ListPicker,当它打开时,默认情况下会选择第一个项目。 在我的应用程序中,用户选择ListPicker上的项目,此项目将发送到我的数据库。用户下次打开选择器时,所选项目自动相同(上一个)。所以,我不需要选择项目。
ListPicker从一个集合中填充。我根据其他答案(list.SelectedIndex = -1;
)尝试过,但没有用。
我的代码:
public ObservableCollection<observacao> obsObservacao { get; set; }
public class observacao
{
public string descricao { get; set; }
public double valor { get; set; }
public string valoradicional { get; set; }
}
pickerPagto1.ItemsSource = obsObservacao;
pickerPagto1.UpdateLayout();
问题:
private void botaoObs_Click(object sender, RoutedEventArgs e)
{
testarObs = "1";
pickerPagto1.Open();
}
答案 0 :(得分:1)
尝试将第一项设置为&#34;选择其中一项......&#34; - 选择此选项后添加条件,以便不写入数据库。
答案 1 :(得分:1)
正如其他人所说,ListPicker控件必须始终具有选定的项目。
解决这个问题的方法是在列表中添加默认的第一项。您尚未在填充集合的位置发布代码,但这可能是一个很好的通用解决方案:
protected ObservableCollection<observacao> _obsObservacao;
public ObservableCollection<observacao> obsObservacao
{
get { return _obsObservacao;}
set {
_obsObservacao = value;
observacao noSelection = new observacao();
noSelection.descricao ="Nothing Selected";
_obsObservacao.Insert(0, noSelection);
}
}