الحصول على مقابض إلى مكونات المرن المولدة ديناميكيا

StackOverflow https://stackoverflow.com/questions/1709535

سؤال

لدي تطبيق Flex الذي يشير إلى ملف MXML منفصل كقالب لمكون مخصص. أقوم بإنشاء مثيلات من المكون ديناميكيا عدة مرات في برنامجي، لكنني بحاجة إلى الحصول على مقبض سيسمح لي بتعديل هذا المثيل للمكون حسب الرغبة.

أقوم بتمرير معلومات محددة إلى هذا المكون على إنشاء مثيل باستخدام متغيرات عامة قابلة للتغذية في ملف MXML الخاص بالمكون. أضفها إلى برنامجي الرئيسي باستخدام AddChild ().

أريد تحديث ProgressBar المكون حسب الضرورة وأريد إزالته من المربع الذي أورده إليه.

ما هي أسهل / أفضل طريقة للحصول على متغير من شأنها أن تعطيني وصول يمكن التنبؤ به لكل مكون حتى أتمكن من التعامل مع المكونات بسهولة حسب الضرورة؟ تشير بعض الأبحاث إلى إنشاء creationcomplete، لكنني قررت أنه كان أسرع فقط أن أسأل فقط من الذهاب إلى الكثير من التجارب المختلفة والتوصل إلى فارغة.

شكرا لجميع التعليمات. :)

هل كانت مفيدة؟

المحلول

لا يمكنك فقط الاحتفاظ بقائمة من مكوناتك في صفيف؟ من المفترض أن يكون لديك مرجع كائن عند إنشاءها واستدعاء AddChild () على والديه. لماذا لا تضعهم فقط في صفيف في نفس الوقت؟

var list_of_controls:Array = new Array();
var new_Object:<yourType>;

new_Object = new <yourType>();
parent.addChild(new_Object);
list_of_controls.push(new_Object);

ثم يمكنك الحصول عليها ...

var my_Object:<yourType>;
for each (my_Object in list_of_controls)
{
    // do something
}

عليك أن تتأكد من التخلص منها بشكل صحيح عند القيام بذلك لأن المرجع في صفيفك سيستفظ بها في الوجود حتى يتم مسحها.

إذا قررت أنك تريد استخدام Gettchildren () بدلا من ذلك - ما الذي يمكنك ذلك - خذ الوقت الكافي لقراءة الوثائق لأنني أعتقد أنه بإرجاع مجموعة جديدة مع كل مكالمة.

أتمنى أن يساعد ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top