Czy istnieje sposób z WPF, aby uzyskać tablicę elementów pod myszą w przypadku MouseMove?WPF Pobierz element (y) pod mysz
Odpowiedz
Od "WPF Unleashed", strona 383:
Badania wizualne hitem może poinformować o wszystkie
Visual
s, które przecinają lokalizacja, [...] należy użyć [...] metoda akceptująca delegata[VisualTreeHelper.]HitTest
. Przed zwróceniem tej wersji tej wersjiHitTest
delegat jest wywoływany jeden raz dla każdego odpowiedniego , zaczynając od najwyższego i kończąc na najniższym.
Podpis takiego zwrotnego jest
HitTestResultBehavior Callback(HitTestResult result)
i musi powrócić HitTestResultBehaviour.Continue
otrzymywać dodatkowe uderzenia, jak pokazano poniżej (z połączonego strony na MSDN):
// Return the result of the hit test to the callback.
public HitTestResultBehavior MyHitTestResult(HitTestResult result)
{
// Add the hit test result to the list that will be processed after the enumeration.
hitResultsList.Add(result.VisualHit);
// Set the behavior to return visuals at all z-order levels.
return HitTestResultBehavior.Continue;
}
Aby uzyskać więcej informacji, zapoznaj się z MSDN documentation for VisualTreeHelper.HitTest
.
Czy można korzystać z VisualTreeHelper.HitTest?
http://lukieb.blogspot.com/2008/07/visualtreehelperhittest.html
Przeciążenie używane w połączonym przykładzie ([prawdopodobnie powinno być również replikowane bezpośrednio w odpowiedzi) (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- links-elsewhere-really-good-answers)) tylko znajdzie najwyższy element w lokalizacji myszy, ** nie ** tablicę elementów pod myszą. –
Można również spróbować użyć właściwość Mouse.DirectlyOver aby uzyskać najwyższej największy element, który jest pod mysz.
To ** nie ** zapewni tablicę elementów pod myszą, ale rzeczywiście tylko zwróci najwyższy element. –
- 1. Co to znaczy "Przechwyć mysz" w WPF?
- 2. WPF: Kolor pod wskaźnikiem
- 3. Pobierz bieżący element
- 4. PHP: pobierz element tablicy
- 5. Usunąć mysz nad efektem na ListView w WPF
- 6. Element narożny WPF Cut
- 7. Angularjs - pobierz element wewnątrz dyrektywy
- 8. Pobierz element wywołujący z vue.js
- 9. Pobierz ostatni element w SortedDictionary
- 10. Scala. Pobierz pierwszy element listy
- 11. Pobierz wybraną wartość wpf combobox
- 12. jQuery aktywuj funkcję mouseover tylko wtedy, gdy mysz trzyma element
- 13. Czy istnieje sposób, aby mysz całkowicie ignorowała element html?
- 14. NSView mysz śledzenia
- 15. WPF DataGrid - odznaczyć wybrany element (y) po kliknięciu spacje w DataGrid
- 16. Mouseover, aby wybrać element w polu listy w WPF
- 17. jQuery - Pobierz element z tablicy jako element jQuery?
- 18. Umieść element DIV pod innym numerem DIV
- 19. Jak usunąć element (pod) z QVBoxLayout?
- 20. javascript - usuń element tablicy pod warunkiem
- 21. Pobierz losowy element i usuń go.
- 22. Pobierz element z dowolnego indeksu w zestawie
- 23. Pobierz element listy dynamicznie w szablonach django
- 24. Pobierz ostatni element w tablicy listy
- 25. Pobierz element według klasy w JSoup
- 26. D3 pobierz poprzedni element z .data()
- 27. Magnific popup: Pobierz bieżący element w oddzwonieniu
- 28. Haskell - pobierz n-ty element bez "!!"
- 29. Pobierz ostatni element z CompositeView w marionetce
- 30. Pobierz ostatni element tablicy ciągów w vb6?
Zobacz poniższy link msdn (sekcja: Używanie połączenia zwrotnego wyników testu uderzenia) jako dobry przykład. [http://msdn.microsoft.com/en-us/library/ms752097.aspx](http://msdn.microsoft.com/en-us/library/ms752097.aspx) –
Page 503 w edycji 2010 książka. FYI. – Sabuncu
Zwróć uwagę, że dostajesz wizualny element drzewa, który w większości przypadków nie jest tym, czego potrzebujesz. Musisz przeszukiwać rodziców rekursywnie, aby uzyskać logiczne elementy widoku. – henon