Member 14672509 Ответов: 2

Как объединить выбранный элемент combobox и значение текстового поля в listbox.


Хииии,

Я пишу код на C#, WPF. Моя программа состоит в том, чтобы добавить выбранный элемент ComboBox и значение текстового поля, когда я нажимаю кнопку Добавить, оба значения ComboBox и Textbox должны быть добавлены в listBox в одной строке.

Как я пишу код для этого ??.


СПАСИБО

Что я уже пробовал:

У меня есть 1 комбинированный список чтобы выбрать код страны, и 1 Текстовый ввести номер мобильного телефона в соответствии с выбранным кодом страны. и еще один ДОБАВЛЯТЬ Кнопка для добавления значения [ComboBox и TextBox] в список

2 Ответов

Рейтинг:
2

Ashutosh Gpta

если вы используете шаблон MVVM в своем коде , вам будет очень легко управлять этим scenrio.
&ЛТ;поле со списком, что ItemsSource="{привязки элементов}" selectedvalue="{привязки, элемент, режим=с двусторонним движением}"&ГТ;
то же самое для текстового поля
<textbox binding="{имя привязки}">


MainViewModel, который является вашим контекстом данных вашего элемента управления.
который содержит элементы типа ObservableCollection
свойство SelectedItem, имя
и введите тип команды Icommand.

при выполнении метода делегата EnterCommand вы получаете текущее выбранное значение и имя из текстового поля.

Я надеюсь, что это поможет вам начать с


Рейтинг:
0

TheRealSteveJudge

Здесь предполагается, что ваш ListBox называется

ListBoxPhoneNumbers

ваше текстовое поле называется
TextBoxPhoneNumber

и ваш ComboBox называется
ComboBoxCountryCodes
содержащие такие значения, как это
"+31",
"+32",
"+33"

затем вы можете вставить полный номер следующим образом:
var completePhoneNumber = $"{ComboBoxCountryCodes.SelectedItem} {TextBoxPhoneNumber.Text}";

ListBoxPhoneNumbers.Items.Add(completePhoneNumber);

Смотреть также $ - строковая интерполяция - Справочник по C# | Microsoft Docs[^]


Member 14672509

Этот код не работал.. Он показывает сообщения об ошибках, как показано ниже :
Ошибка 1 неожиданный символ "$"
Ошибка 2 недопустимый термин выражения "
Ошибка 3 ; ожидаемая
Ошибка 4 в качестве оператора можно использовать только выражения assignment, call, increment, decrement, await и new object

F-ES Sitecore

var completePhoneNumber = строка.Формат("{0} {1}", ComboBoxCountryCodes.Элемент, TextBoxPhoneNumber.Текст");

TheRealSteveJudge

Я проверил код, и он работает. Может быть, он использует старую версию C#.

F-ES Sitecore

Да, $ - это довольно новая нотация. Хотя, если вам нужно, чтобы кто-то сказал вам, как соединять строки вместе, то вам нужно потратить время на изучение основ!

TheRealSteveJudge

Возможно, вы используете старую версию C#.
Microsoft Docs говорит: "эта функция доступна, начиная с C# 6."
Тогда вам следует использовать то, что предложил F-ES Sitecore.