2012-02-16 92 views
1

有幾個類似的問題,但他們似乎都要求相反的行爲。我有一個數據綁定組合框,並且我希望用戶能夠通過輸入來定位其中的值,就像它是一個文本框一樣。這種行爲對於IsEditable來說很簡單,但它會導致用戶能夠選擇不在ItemsSource中的值。可編輯的組合框與綁定,塊缺失值

當用戶這樣做時,Combobox突出顯示紅色,但多數民衆贊成它。我希望它實際上清除該值,或者選擇最接近的匹配項,以較容易的爲準。這可能沒有綁定到文本,並將驗證邏輯放在setter中?

+0

當組合框不可編輯時,用戶實際上可以通過鍵入和標記來查找項目。 – NestorArturo 2012-02-16 18:25:10

+0

它更不靈活,退格鍵功能不同。 – Tyrsius 2012-02-16 18:39:58

回答

0

不,沒有簡單的方法來解決這個問題。

你需要按照你說的去做,綁定到文本,或者更正確的(至少在我看來),做一個專門的派生組合框/附加行爲,你可以在PreviewKeyPressed,TextChanged,LostFocus等

從個人經驗來看,使這種自定義行爲完美無缺是很痛苦的。

我同意你在一個完美的世界中更喜歡的是隻讀組合框,但是改進了「在你鍵入時進行搜索」,你可以在其中實際看到你已經輸入和編輯的內容。

+0

謝謝,我很害怕這種情況。 – Tyrsius 2012-02-16 21:23:34