WPF добавить элемент в список, если элемент еще не существует

Я считаю следующий ответ более простым, чем другие:

string numWithCommas = to_string(value);
int insertPosition = numWithCommas.length() - 3;
while (insertPosition > 0) {
    numWithCommas.insert(insertPosition, ",");
    insertPosition-=3;
}

Это быстро и корректно вставляет запятые в вашу строку цифр.

0
задан Mikev 28 February 2019 в 09:58
поделиться

1 ответ

Выражение

lstAuthors.Items.Contains(itm)

всегда будет возвращать false для вновь созданного itm объекта. Но это не имеет значения, потому что весь ваш подход неверен.


В приложении WPF вы обычно реализуете шаблон MVVM и привязывает свойство ListBox ItemsSource к свойству коллекции строк в классе модели представления.

Однако, в качестве первого шага вы могли бы просто объявить член ObservableCollection<string> в вашем классе MainWindow и в его конструкторе напрямую назначить его свойству ItemsSource:

private readonly ObservableCollection<string> authors
    = new ObservableCollection<string>();

public MainWindow()
{
    InitializeComponent();
    lstAuthors.ItemsSource = authors;
}

Теперь вы будете работать с этой коллекцией только:

var author = txbAuthor.Text.TrimEnd(' ', ';');

if (!authors.Contains(author))
{
    authors.Add(author);
}
0
ответ дан Clemens 28 February 2019 в 09:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: