Я использую textName, чтобы пользователь мог ввести свое имя. Затем при вводе текстовое событие обновляет список с именами, которые совпадают с вводом, затем пользователь может щелкнуть элемент (CompletedName в списке), и когда это произойдет, мне нужны обновления текстового поля с содержимым элемента .. Эта проблема началась произойдет, когда я изменил "GivenName" (как поле из запрашиваемой таблицы) на "CompletedName" .. (это строка concat из запроса, как показано выше)
У меня есть этот запрос LINQ:
var players =
from p in context.Player
where (p.GivenName.StartsWith(TextName.Text.Trim()) || p.Number.StartsWith(TextName.Text) || p.Surname.StartsWith(TextName.Text) )
select new { CompleteName = p.GivenName + " " + p.Surname + " (" + p.Number + ")"};
Затем я делаю это источником для списка с именем listNames, и у меня есть это текстовое поле:
<TextBox Name="TextName" Text="{Binding ElementName=listNames, Path=SelectedItem.CompleteName}"/>
Когда я запускаю его, отображается следующая ошибка: «Двухсторонняя привязка или привязка OneWayToSource не может работать с доступным только для чтения свойством 'CompleteName' типа '‹> f__AnonymousType0`1 [System.String]' »
Я понимаю, конечно, что это не может быть TwoWay или OneWayToSource. Но мне нужно, чтобы пользователь мог добавлять контент в textName, потому что это также текстовое поле поиска, без обновления SelectedItem в списке.
Если я добавлю в текстовое поле выражение Mode = OneWay .. в элементе управления textName ничего не происходит, я имею в виду, что он не отображает элемент из списка .. Что мне делать, чтобы он работал ??