我有一個dataGrid
擴展的選擇模式,所以我可以選擇很多行。如何獲取在擴展選擇模式下選擇的當前DataGrid行?
我有一個樣式觸發器,有一個多值轉換器,根據一些條件設置行的背景顏色。
那麼,在我的探測中,我傳遞了三個參數:ItemsSource
,SelectedItems
和selectedItem
。我注意到以下行爲:
當我選擇第一行時,ItemsSource
包含dataGrid
的所有行。這是對的。 SelectedItems
有0項,selectedItem
爲空。但是,不做任何事情,代碼在轉換器中第二次輸入,在這種情況下SelectedItem
是在dataGrid
中選擇的項目,但SelectedItems
沒有項目。
當我選擇第二行時,SelectedItems
有一個項目,dataGrid
和selectedItem
的第一個選定行也有第一行。在這種情況下,代碼不會在轉換器中第二次進入。
當我選擇第三行時,SelectedItems
有兩項,第一行和第二行被選中,但不是第三行。 SelectedItem
選擇了第一行。
所以我看到SelectedItem
總是選擇第一行,SelectedItems
有n-1個選定的行。
但我怎麼知道當前選中的行是什麼?新排?
清理問題。例如。 「但是,不做任何事,代碼第二次進入轉換器」 – Paparazzi 2012-07-28 13:21:46