私はWPFParentUserControl
などを持っていChildUserControlA
ChildUserControlB
ます(WPFコントロールも)
はChildUserControl
、他のいくつかの基本的な要素 (テキストボックス、ラベルなど) を含むコントロールです。
メイン フォームのステータス バーに、現在のマウス オーバーの ChildUserControl の名前を表示する必要があります。
したがって、ParentUserControlの MouseMove では、 ChildUserControlmyElement = Mouse.DirectlyOver
の最上位が必要なため、オブジェクトを取得しますが、代わりに「System.Windows.Controls.TextBlock」(ChildUserControl の一部) を取得します...
それを修正する方法は?
MyChildControl を mouseOver するときに、その子要素ではなく、MyChildControl が検出される必要があります。
この順序で、MyChildControl で次を使用しました。
Protected Overrides Function HitTestCore(
hitTestParameters As PointHitTestParameters) As HitTestResult
Return New PointHitTestResult(Me, hitTestParameters.HitPoint)
End Function
とにかく、結果としてテキストブロックを取得することもあれば、ChildUserControlを取得することもあります...