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);
}
}
Попробуйте установить первый пункт, например "Выбрать один из...", и добавить условие, если оно выбрано, чтобы не записывать в базу данных.