मैं बच्चों के रूप में कुछ के लिए कैनवस तत्वों, एक कड़ी चोट कार्रवाई ग्रिड पर किया जाता है के साथ एक ग्रिड होता है जो एक कस्टम नियंत्रण लागू करने के लिए कोशिश कर रहा हूँ, मैं कैनवास के साथ कुछ आपरेशन पहिले से करने का इरादा कर रहा हूँ तत्वों। मैं ग्रिड के लिए कड़ी चोट संभाल करने में असमर्थ हूँ, मैं msdn - win8 Dev forumWindows 8 में स्वाइप Guesture हैंडलिंग ग्रिड
उत्तर
मैं आपके जैसे ही नाव में था, क्योंकि यह कैसे किया गया था, इस पर कोई नमूना नहीं था, लेकिन एमएसडीएन दस्तावेज को समझने और जांचने के बाद विंडोज 8 स्टोर ऐप पर एक स्वाइप इशारा कैसे लागू किया गया है # , यह वही है जो मैं आया था (और यह मेरे ऐप के लिए काम करता है जिसके लिए ऊपर/नीचे/बाएं/दाएं स्वाइप करने की आवश्यकता होती है):
सबसे पहले, जेस्चर रिकॉग्नाइज़र के बजाय, मैनिपुलेशन घटनाओं का उपयोग करने की आवश्यकता है, इसलिए ग्रिड जिसे आप स्वाइप करना चाहते हैं (चलिए कहते हैं कि आप इसे पूरी स्क्रीन लेते हैं ताकि यह इशारा करता है) निम्नलिखित:
मैंने अपना ग्रिड स्वाइपिंग कहा urface और मैं दोनों Y- अक्ष और X- अक्ष के लिए जोड़-तोड़ मोड से निपटने हूँ:
swipingSurface.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;
फिर जोड़-तोड़ देता है जिन्हें आप सूचना प्राप्त करना चाहते ऊपर तार, मेरे मामले में मैं सिर्फ तब जानना चाहता हूँ जोड़-तोड़ शुरू कर दिया और जब यह समाप्त हो गया: जो आप अपने हेरफेर पर चाहते
swipingSurface.ManipulationStarted += OnManipulationStarted;
swipingSurface.ManipulationCompleted += OnManipulationCompleted;
क्या इस तरह के प्रारंभिक बिंदु हो रही अगर आप चाहते हैं के रूप में शुरू किया था,। लेकिन वास्तविक चाल इस प्रकार, ManipulationCompleted घटना है, जिसमें आप वेग अपने हाव-भाव से उत्पन्न प्राप्त करने की आवश्यकता है:
public void OnManipulationCompleted(object sender, ManipulationCompletedEventArgs e) {
var velocities = e.Velocities;
}
ManipulationCompletedEventArgs वेग संपत्ति प्रकार ManipulationVelocities की एक struct वापस लाना होगा, जिसमें अन्य गुण शामिल हैं:
- कोणीय: डिग्री प्रति मिलीसेकंड में घूर्णन वेग।
- विस्तार: डीआईपी प्रति मिलीसेकंड में विस्तार, या स्केलिंग, वेग।
- रैखिक: डीआईपी प्रति मिलीसेकंड में सीधी रेखा वेग।
मैं वास्तव में रैखिक वेग है, जो एक प्वाइंट कि जिस दिशा में इशारा किया गया था यह दर्शाता है एक्स और वाई मान शामिल है पर देख रहा हूँ; उदाहरण के लिए, अगर ऊपर की ओर स्वाइप था, तो आप देखेंगे कि Y मान सकारात्मक है, और अगर इसके नीचे Y मान ऋणात्मक है; एक ही एक्स मूल्य के लिए चला जाता है, अगर कड़ी चोट छोड़ दिया है, एक्स मान नकारात्मक हैं और अगर कड़ी चोट सही है, एक्स मूल्यों ताकि आप उन मूल्यों के साथ चारों ओर खेलने के लिए और अपनी स्वाइप दिशा, अंतिम अंक, आदि की जांच कर सकते, सकारात्मक रहे हैं ।
आशा इस मदद करता है।
खैर, स्वाइप भाग आपके लिए हल हो गया है। लेकिन अब मुझे एक समस्या हल करने की जरूरत है (अगर आप इसे हल भी करते हैं)। कड़ी चोट एक रिक्त स्थान में काम नहीं करता (कल्पना करें कि आप एक ग्रिड है, खाली कोशिकाओं के साथ ... भले ही आप ग्रिड में या माता-पिता में उन घटनाओं को पकड़ने आप उन कोशिकाओं पर स्वाइप नहीं कर सकता) –
@Tiago अल्मीडा क्या आप ग्रिड खाली होने पर सभी घटनाएं प्राप्त कर रहे हैं? –
@ राजमोहन कैथिरसन आखिरकार मैंने इसे हल कर लिया है। ऐसा लगता है कि आप एक पृष्ठभूमि है ताकि आप घटनाओं प्राप्त कर सकते हैं की जरूरत है। भले ही वह पृष्ठभूमि पारदर्शी पर सेट हो। –
में एक ही पोस्ट किया है आप अपनी कड़ी चोट करने योग्य नियंत्रण पर ManipulationMode स्थापित करने और हेरफेर ~ घटनाओं से निपटने की कोशिश कर सकते। ध्यान दें कि कुछ नियंत्रण यूआई घटनाओं के उत्साह से भरा हुआ बंद हो सकता है, इसलिए यदि आप एक बटन या एक ScrollViewer के अंदर अपने नियंत्रण डाल कहना - घटनाओं काम न करे।
धन्यवाद, मैं इसके साथ प्रयास करूंगा, क्या आप कृपया मुझे ग्रिड के लिए इशारा सौंपने के लिए मार्गदर्शन कर सकते हैं। 'geustureRecorgizer = नया जेस्चर रिकॉग्नाइज़र(); geustureRecorgizer.CrossSlideHorizontally = true; geustureRecorgizer.GestureSettings = GestureSettings.CrossSlide; geustureRecorgizer.CrossSliding + = नए TypedEventHandler
क्षमा करें, मैं उपयोग नहीं किया है GestureRecognizer को यह इशारा आवंटित करने के लिए कैसे अभी तक। –
आप बाहर SwipeHintThemeAnimation
GestureRecognizer
का उपयोग करता है एक आयत नियंत्रण करने के लिए हुक या अपने ग्रिड नियंत्रण का उपयोग करने के लिए इसे संशोधित करने के लिए जांच कर सकता है, the documentation देखते हैं।
- 1. Windows 8/Windows Server 2012
- 2. मैं Windows 8
- 3. Windows 8 मेट्रो क्षुधा (सी #/XAML)
- 4. Windows Phone 8 (सी #) फ्रेमवर्क
- 5. Windows 8 (WinRT) लॉक स्क्रीन
- 6. हैंडलिंग दो, तीन, चार उंगलियों स्वाइप जेस्चर में WinRT अनुप्रयोग
- 7. Windows 8 VS2012 IISExpress विंडोज प्रमाणीकरण
- 8. WebClient वर्ग मौजूद नहीं है Windows 8 में
- 9. Windows में पढ़ना डिवाइस प्रबंधक के संपत्ति फील्ड्स 7/8
- 10. Windows 8 में नियंत्रण की ऊंचाई चेतन कैसे XAML
- 11. Windows में स्वत: परिवर्तन जुड़े प्रदर्शित करता है निष्पादित 8
- 12. Windows 8 सेटिंग्स के शीर्ष पर दिखाए जाने वाले विज्ञापनों
- 13. यूटीएफ -8 विशेष वर्णों के साथ PHP फ़ाइल हैंडलिंग
- 14. क्यों नहीं WPF विंडोज 8 शैली बटन Windows में दिखाता है 8
- 15. Windows 8 और Windows Phone पर एचटीएमएल 5/जावास्क्रिप्ट के साथ एक एफ # पोर्टेबल लाइब्रेरी का उपयोग करना 8
- 16. Windows 8</p> <p>फोन क्षुधा के लिए खत्म 7 एप्लिकेशन को Windows 8 एप्लिकेशन
- 17. स्वाइप अप, स्वाइप नीचे, बाएं स्वाइप और दाईं ओर स्वाइप जेस्चर संभाल एक WinRT एप्लिकेशन
- 18. Windows में
- 19. Google नाओ को स्वाइप करना स्वाइप करें
- 20. मेट्रो एप्लिकेशन का निर्धारण Windows 8 टैब या डेस्कटॉप पीसी
- 21. CollectionViewSource, डिजाइन समय डाटा, मिश्रण और Windows 8
- 22. Windows 8 जीयूआई, और WPF/Silverlight/WinRT/मेट्रो/BUILD संबंधों
- 23. कंसोल विंडो सुविधा Windows Phone 8 एम्युलेटर पर
- 24. Windows 8 स्टोर एप्लिकेशन WinRT स्थानीय टोस्ट अधिसूचना
- 25. jQuery और Windows 8 जावास्क्रिप्ट मेट्रो शैली Apps का
- 26. ड्रॉप-डाउन चयन नियंत्रण - Windows 8 मेट्रो - XAML
- 27. स्वाइप Coco2d
- 28. स्क्रॉलव्यूयर ग्रिड व्यू एक्सएएमएल
- 29. अनुप्रयोग शॉर्टकट Windows 8 में प्रारंभ स्क्रीन में उपयोग करने में वर्णित के रूप में सी ++
- 30. WIndows
मैं सूचक को संभालने के लिए चले गए, कड़ी चोट की नकल करने के प्रतिनिधियों में प्रवेश करने की कोशिश की, लेकिन मैं अलग करने के लिए दाएँ> वामपंथियों और बाएँ> राइट इशारा असमर्थ हूँ। मुझे ग्रिड के लिए जेस्चररेकोजिनिज़र ऑब्जेक्ट सेट करने के बारे में पता नहीं है। –