wpf - UIElement.PreviewMouseMove or not MouseMove... that is the question -


WPF,
एमएसडीएन:

UIElement इवेंट

तब होता है जब माउस पॉइंटर चालित होता है जब माउस पॉइंटर इस तत्व से अधिक होता है।

जैसा कि मैं देख सकता हूं, यह सच नहीं है ... जब मैं PreviewMouseDown , तब PreviewMouseUp , एक PreviewMouseMove ईवेंट हस्तक्षेप करता है क्या यह फ़्रेमवर्क या एमएसडीएन प्रलेखन रिसाव में एक बग है?

मुझे एक तत्व को वास्तव में स्थानांतरित करने की आवश्यकता है, और यह "स्थैतिक" "मूव" मेरे तर्क को तोड़ता है ...

फ़ंक्शन कॉल लॉग:

  फ़ंक्शन: MyCanvas.OnPreviewMouseLeftButtonDown (System.Windows.Input.MouseButtonEventArgs), थ्रेड: 0x6F4 मुख्य थ्रेड फ़ंक्शन: MyCanvas.OnPreviewMouseMove (System.Windows.Input.MouseEventArgs), थ्रेड : 0x6F4 मुख्य थ्रेड फ़ंक्शन: MyCanvas.OnPreviewMouseLeftButtonUp (System.Windows.Input.MouseButtonEventArgs), थ्रेड: 0x6F4 मुख्य थ्रेड फ़ंक्शन: MyCanvas.OnPreviewMouseMove (System.Windows.Input.MouseEventArgs), थ्रेड: 0x6F4 मुख्य थ्रेड   

पिछला लॉग भी डबलक्लिक इवेंट प्राप्त करते समय प्राप्त किया गया था, इसलिए, मुझे नहीं लगता कि मैं माउस को एक माइक्रोमीटर द्वारा भी ले गया ...

ईमेव हस्तक्षेप मुझे संदेह है कि जो व्यवहार आप देख रहे हैं वह है क्योंकि विशेष रूप से आधुनिक उच्च संकल्प चूहों के साथ, यह क्लिक करने पर माउस को स्थानांतरित नहीं करना (यहां तक ​​कि थोड़ी सी) नहीं है। दरअसल, यह मानना ​​बहुत मूर्ख होगा कि आपके उपयोगकर्ता ऐसा नहीं करेंगे। माउस बटन दबाए रखने के दौरान उपयोगकर्ता को माउस को स्थानांतरित करने से कुछ भी नहीं रोकता है।

यदि आप घटना को केवल तभी रजिस्टर करना चाहते हैं जब माउस स्थिर है, माउस पर स्थिति रिकॉर्ड करें और केवल माउस पर अपने कार्य करें यदि स्थिति में काफी बदलाव आया हो।


Comments