मेरे पास मेरे ऐप में कुछ सूची बॉक्स अवलोकन करने योग्य चयनों से बंधे हैं, और यदि इसे हटाया जा रहा है तो मैं किसी आइटम को एनिमेट करना चाहता हूं।सूची बॉक्स में हटाए गए आइटम को एनिमेट करना
मुझे पहले से ही फ्रेमवर्क एलिमेंट.लोडेड ईवेंट का उपयोग कर अतिरिक्त आइटम एनिमेट करने के बारे में एक प्रश्न मिला है, लेकिन निश्चित रूप से यह अनलोडेड ईवेंट के साथ समान तरीके से काम नहीं करता है।
क्या ऐसा करने का कोई तरीका है जिस तरह से डेटामैप्लेट में उपयोग किया जा सकता है?
संपादित करें: मैंने अपने आइटमसोर्स में संग्रहChanged ईवेंट को जोड़ दिया है और मैन्युअल रूप से एनीमेशन लागू करने का प्रयास किया है। वर्तमान में यह इस तरह दिखता है:
ListBoxItem item = stack.ItemContainerGenerator.ContainerFromIndex(0) as ListBoxItem;
item.LayoutTransform = new ScaleTransform(1, 1);
DoubleAnimation scaleAnimation = new DoubleAnimation();
scaleAnimation.From = 1;
scaleAnimation.To = 0;
scaleAnimation.Duration = new Duration(new TimeSpan(0, 0, 0, 0, 500));
ScaleTransform transform = (ScaleTransform)item.LayoutTransform;
transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
समस्या यह है कि यह बिल्कुल काम नहीं करता है। आइटम अभी भी दूर चलेगा। जब विधि को बुलाया जाता है तब आइटम अभी भी वहां होता है, इसलिए इसे गायब होने से पहले एनीमेशन नहीं खेलना चाहिए? या मैं इसे पूरी तरह से गलत कर रहा हूँ?
मेरे मामले में मेरे पास 3dparty INotifyCollectionChanged Obtics द्वारा कार्यान्वित किया गया है और कभी-कभी सर्वर साइड इवेंट्स द्वारा बदला जाता है ... मुझे नहीं पता कि आइटम को हटाने का तरीका कैसे एनिमेट करना है ... शायद मुझे इसे कस्टम इनोटिफ़ाइलेक्शन चेंज द्वारा लपेटना चाहिए और केवल देरी के लिए कस्टम इवेंट हटाने में देरी होनी चाहिए एनीमेशन। लेकिन यह केवल 1 आइटम प्रति घटना और प्रति एनीमेशन के लिए काम कर सकता है। INotifyCollectionChanged अनुबंध मानता है कि प्रत्येक इंस्टेंस घटनाओं द्वारा तुरंत अपने संग्रह को बदलता है और यदि मुझे देरी हो रही है - अगली घटना मुझे तत्व सूचकांक भेजती है मान लीजिए कि मैंने पिछले इंडेक्स द्वारा अपना संग्रह पहले से ही बनाए रखा है। –