Проблема в том, что свойство showName
в вашей модели возвращает коллекцию, которую вы хотите привязать к свойству Text
TextBox
, которое является строкой.Затем у вас есть конвертер, который принимает коллекцию в качестве входных данных, выполняет запрос LINQ, который возвращает другую коллекцию. Это значение , вся коллекция, преобразуется путем привязки к строке с использованием ToString
и отображается как одна запись в поле со списком.И затем этот процесс повторяется для каждого элемента в поле со списком.
Не зная точно, что вы пытаетесь достичь, трудно предположить, как именно это исправить.Например, если showName
равно:
string[] { "Bill", "Bill", "Mike", "Ted" };
Хотите, чтобы это появилось в строке со списком?
Билл Майк Тед
Если это так, то вы можете использовать Aggregate
после того, как используете Distinct
.
Но более вероятно, что вы хотите, чтобы Билл, Майк и Тед появлялись как отдельные элементы в поле со списком.В этом случае вам необходимо применить преобразователь к ItemsSource
для самого ComboBox
вместо TextBox
в ItemTemplate
.