2013-05-20 101 views
0

我有Expander控件,它顯示了當您展開它時項目列表。如果我將鼠標懸停在標題上,它將擴展它。WPF Expander MouseOver問題

我需要下面的東西,需要從後面的代碼或xaml中實現。

1)如果用戶在擴展頭上做鼠標滑動並按回車鍵,默認情況下需要選擇列表中的第一項。 2)如果用戶在列表項的其中一個上做鼠標懸停並按回車鍵,那麼我們必須選擇相關的項目。 - 我已經有這個實施。

我的問題是我能夠在後面的代碼中捕獲enter鍵事件,但是我怎麼會知道用戶將鼠標懸停在擴展器頭或擴展器項上,因爲我必須做兩個diff事情。

感謝

回答

0

您可以使用Mouse.DirectlyOver得到它的元素上,那麼你就可以走了樹,看看你在你的相關範圍(即找到擴展/頭),或者您可以檢查相關控件的IsMouseOver,如果鼠標位於子元素上,該元素也應返回true。

+0

關於我可以得到擴展器控制,但我不知道如何找出它是exapnder標題區或項目ares? – user2203652

+0

@ user2203652:不要使用鼠標,而要使用按鍵事件;命名或在標題中標記控件,然後或者走樹,直到找到帶標記的控件或檢查control.IsMouseOver控件是名稱。 –