總之,我的問題是WPF DataGrid不會讓我選擇除第一行以外的任何內容。當我第一次填寫數據時,沒有選擇行。接下來,無論我點擊哪一行,第一行都會亮起。當我使用OneWayToSource綁定SelectedItem屬性時,我發現確實選擇了正確的行。如果我選擇再次點擊另一行,則不會發生任何事情:界面仍停留在第一行,SelectedItem屬性保留以前正確的值。在這一點上,我必須按住ctrl-點擊第一行行才能取消選擇。這使我可以重複上述情況。WPF DataGrid無法更改所選行:卡在第一行
換句話說: - 用戶界面似乎與實際選擇的內容不同步。 - 需要按住Ctrl鍵來取消選擇。 - 即使SelectedItem屬性指示選擇了不同的行,也必須在第一行執行Ctrl-單擊操作。
我明白這是奇怪的行爲。我試圖在一個單獨的項目中複製它,但沒有成功。因此,我只是把它扔在那裏,看看有沒有人有任何想法,爲什麼它可能會這樣做?
我在單獨項目中沒有重複的唯一事情是使用MEF作爲View/ViewModel連接。其他一切都是一樣的。
編輯:我剛剛用一個ListBox替換了所說的DataGrid,並且遇到了同樣的問題。我使用Snoop來試圖找出可能應用於控件的內容,這會改變它的行爲。
由於這顯然取決於您的具體代碼,如果您可以提供上述代碼將是有幫助的。 – 2011-02-08 16:31:24