2014-03-03 60 views
1

我在WPF中有一個DataGrid。我綁定了SelectedItem屬性。我有刪除按鈕,刪除選定的行。然而,當我點擊其他地方(即TextBox)和DataGrid失去焦點時,SelectedItem不會改變。我可以刪除「更早」選中的行。DataGrid失去焦點,但SelectedItem未設置爲空

它是您預期的默認行爲?它可以很容易地修復?

編輯(如請求的代碼):

<DataGrid SelectedItem="{Binding SelectedPort}" (...) > 

<Button Command="{Binding RemovePortCommand}" >Remove Port</Button> 

public ICommand RemovePortCommand 
{ 
    get 
    { 
     return _removePortCommand ?? (_removePortCommand = new RelayCommand(param => OnRemovePortCommand(), param => SelectedPort != null)); 
    } 
} 
+1

發佈刪除和綁定。 – Paparazzi

回答

2

這就是好男人....

只需使用你的綁定屬性設置

grid.SelectedItem =null; 

OR

grid.selectedindex = -1 

或兩者,刪除後

+0

刪除後設置爲空。工作正常。但是放鬆焦點(點擊其他地方)後,它不會設置爲空。 –

+0

不,因爲你設置了SelectedItem,你需要告訴網格現在沒有選擇任何東西......這是否有意義......是的,失去焦點不會取消選擇.... – codeSetter

+0

我的評論是missleading。我所做的:現在刪除一行後,它被框架設置爲null。工作正常。按照你的建議來設定它在這裏沒有幫助。 –