没有选中项的ListPicker

ListPicker without selected item

我有一个 ListPicker,当它打开时,默认第一项是 selected。 在我的应用程序中,用户 select ListPicker 上的一个项目,该项目被发送到我的数据库。下次用户打开选择器时,自动 selected 项目是相同的(上一个)。所以,我不需要 selected 项目。

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();
    }

Try to set first item like "Select one of..." - and add condition, when this is selected, for not to write into database.

正如其他人所指出的,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);
        }
    }