Bir MouseMove olayında fare altında bir dizi öğe almak için WPF'nin bir yolu var mı?WPF Fare Altında Eleman (lar) Al
cevap
, sayfa 383:
Görsel isabet test size kesişir yaklaşık tüm
Visual
s bilgilendirebilir bir konumu, [...] kullanmak gerekir [...]HitTestResultCallback
delegesini kabul eden[VisualTreeHelper.]HitTest
yöntemidir. 'unHitTest
bu sürümünden önce, delege, ilgiliVisual
için bir kez, en baştan başlayıp en altta biten bir kez çağrılır.
böyle bir geri arama imza
HitTestResultBehavior Callback(HitTestResult result)
ve (MSDN üzerinde bağlantılı sayfasından) aşağıda gösterildiği gibi, daha ileri hit almak için HitTestResultBehaviour.Continue
dönmek zorundadır:
// 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;
}
Daha fazla bilgi için lütfen MSDN documentation for VisualTreeHelper.HitTest
'a başvurun.
VisualTreeHelper.HitTest'u kullanabilir misiniz?
http://lukieb.blogspot.com/2008/07/visualtreehelperhittest.html
Bağlantılı örnekte kullanılan aşırı yüklenme (muhtemelen cevapta doğrudan çoğaltılması gerekir) (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- link-başka-gerçekten-iyi-cevaplar)) farenin altında en üstteki elemanı bulabilir, ancak, ** ** fare altında bir dizi unsur değildir. –
Ayrıca farenin altında en üstteki elemanı almak için Mouse.DirectlyOver özelliğini kullanmayı deneyebilirsiniz. "WPF Unleashed" Kimden
Bu, ** farenin altında bir dizi öğe sunmayacaktır, ancak gerçekten de en üstteki öğeyi döndürecektir. –
İyi bir örnek için aşağıdaki msdn bağlantısına bakın (bölüm: Bir Hit Test Sonuçlarının Kullanılması). 2010 baskısında [http://msdn.microsoft.com/en-us/library/ms752097.aspx](http://msdn.microsoft.com/en-us/library/ms752097.aspx) –
Sayfa 503 kitap. Bilginize. – Sabuncu
Çoğu zaman ihtiyaç duyduğunuz şey olmayan bir görsel ağaç öğesi aldığınızı unutmayın. Mantıksal görünüm öğelerinizi elde etmek için isabetlerin ebeveynlerini art arda aramak zorundasınız. – henon