2012-01-20 33 views
0

在我的示例項目中,我有一個數據網格,使用來自服務器的值填充數據網格。 datagrid行可以使用鼠標最初選擇。但在我的代碼中,只有在單擊「激活」按鈕後,纔會選擇該行。我應該怎麼做?使用鼠標或鍵盤禁用數據網格行的自動選擇

我試過IsEnabled屬性爲datagrid,但這會導致整個數據網格不活動 (文本和標題灰顯)。

請幫我一把。

回答

1

我想這應該工作:

datagrid.SelectionChanged += (obj, args) => 
    Dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(() => 
    datagrid.UnselectAll())); 

一個替代方案是修改數據網格樣式。無論如何,你還需要考慮你的「激活」價值。

+0

謝謝@Darjan,它的工作。現在點擊「激活按鈕」(它是一個切換按鈕),它應該保持原始狀態(即可以選擇數據網格行)。我試着用** IsHitTestVisible **設置爲false。但是... :( – Kris

+0

)您只有SelectedItem屬性可用。Property SelectedItems設置多個選定的項目不可用,您可能需要手動將它置於從DataGrid派生的自定義控件中,並使用一些邏輯來保留先前選定的項目某處。 – doblak

相關問題