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 ответа

Решение

Как уже отмечали другие, элемент управления 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);
        }
    }

Попробуйте установить первый пункт, например "Выбрать один из...", и добавить условие, если оно выбрано, чтобы не записывать в базу данных.

Другие вопросы по тегам