2010-04-15 134 views
3

簡單問題:WPF:列表框單擊並拖動選擇其他項目

1)我點擊並按住鼠標上的一個ListBox一個ListBoxItem的。
2)現在我將鼠標光標向下拖動到列表中的下一個ListBoxItem上

現在它選擇這個新項目。我想禁用這個。所以用戶必須點擊一個項目來選擇它。不只是拖累它。

我打開了單個選項。

任何想法是極大的讚賞:)

回答

0

我猜覆蓋OnPreviewMouseMove會做。 閱讀this類似的問題。

+0

謝謝。我會試一試。 您提供的鏈接無效。你有直接的聯繫嗎? – Bodekaer 2010-04-17 10:10:21

+0

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/0ed8731a-f7b1-4499-9ef9-fc5544fa7007 – majocha 2010-04-17 21:30:54

2

這主要是爲了像我這樣的人仍然需要知道這一點的好處。

提供的鏈接majocha是答案,儘管它不是一個特別好的方式實現的,據我所看到的,因爲它周圍的MouseUp事件和它的布爾標記一個洞。爲什麼當你可以詢問MouseEventArgs來查明按鈕是否被按下?也許WPF截至2010年沒有這種能力。

因此,這裏是我的WPF 4.代碼你只需要處理的ListBoxMouseMove和這樣說:

private void ListBox_MouseMove(object sender, MouseEventArgs e) 
{ 
    if (e.LeftButton == MouseButtonState.Pressed) 
     (sender as ListBox).ReleaseMouseCapture(); 
} 

田田!