2011-05-11 394 views
2

我一直在尋找解決這個問題的方法,但我仍然找不到合適的解決方案。請幫忙。基本上,我有一個綁定到對象列表的樹視圖。當用戶點擊treeviewitem時,我會根據treeviewitem加載數據網格的數據。用戶可以更改網格中的數據。如果數據網格發生變化,並且用戶點擊另一個treeviewitem,則會要求用戶保存。用戶可以選擇是,否或取消。當用戶選擇取消時,應用程序必須讓用戶停留在當前的treeviewitem上,直到他/她保存數據網格。問題是一旦用戶選擇了另一個treeviewitem,我無法做到這一點,以便再次選擇之前的選擇。沒有「SelectedItemChanging」事件。 WPF treeview只有SelectedItemChanged事件。我在嘗試多種解決方案,但我總是以無限的方式結束。請提供任何提示或建議。WPF TreeView取消TreeViewItem選擇

感謝, 胡志明市

+0

對於這種事情,我通常在綁定到樹視圖的(視圖模型)對象上包含一個IsSelected屬性。如果您在TreeViewItem.IsSelected屬性和(視圖模型)對象屬性之間設置了雙向綁定,則可以以編程方式在樹視圖中選擇一個項目。如果擁有數據網格的控件可以訪問(視圖模型)實例(或者可以傳遞命令給它),則可以通過編程方式選擇取消。 – 2011-05-11 23:41:13

回答

1

你可以只使用您在其中存儲這是最後一次選擇的項目的私人領域,只是處理SelectedItemChanged事件,並根據需要隨時更新的領域。同樣如戴夫克萊默建議有一個IsSelected財產可以綁定幫助選擇項目編程。