我使用textName爲用戶輸入他的名字。然後鍵入,textchanged事件更新與輸入相匹配的名稱的列表框,然後用戶可以點擊一個項目(列表框中的CompletedName),當它發生時,我需要與項目內容的文本框更新..此問題開始當我更改了「CompletedName」的「GivenName」(作爲來自表I的字段的字段)..(它是來自查詢的字符串concat,如上所見)綁定文本框到列表框twoway onewaytosource的問題?
我有這個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控件中沒有任何反應,我的意思是它沒有顯示列表框中的項目.. 我應該怎麼做讓它工作?
的OnlyRead源可以顯示更多的XAML –