没有选定项目的ListPicker

时间:2015-04-06 18:21:56

标签: c# windows-phone-7 windows-phone-8 listpicker

我有一个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();
    }

2 个答案:

答案 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);
        }
    }