2015-08-26 28 views
0

我已經有了一個樹狀視圖,其中包含多個項目。每個項目是在另一個控件中顯示的3D對象的部件名稱。我希望能夠將鼠標移動到物品上並識別出我已經結束的物品。這樣我就可以將物品ID傳遞給其他控件,我可以突出顯示零件。識別TreeView物品鼠標在MouseMove事件中結束

請注意,我已經可以通過點擊事件來做到這一點,但我現在需要做到這一點,而無需任何點擊。

如何在TreeView的Mousemove事件中執行此操作?

回答

0

你有類「System.Windows.Input.Mouse」,可以提供你喜歡DirectlyOver

一些信息,但它可能返回你的UIElement所以TreeviewItSelf的頂層。

我認爲,另一種解決方案可能是遞歸地測試相對於物品的鼠標位置。

使用Mouse.GetPosition(UIELEMENT)如果位置返回在一個座標中爲負或者爲上限,那麼表示控件大小不在控件的HitTestRectangle中。

你也可以使用VisualTreeHelper.FindElementsInHostCoordinates在你的treeview(Mouse.GetPosition(TREEVIEW))的相對位置上使用大小爲1的矩形,並且你在第二個參數中給出了所有樹視圖本身。

相關問題