كيفية السحب والإسقاط عناصر التحكم التي تم إنشاؤها ديناميكيا

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

  •  20-09-2019
  •  | 
  •  

سؤال

كيفية سحب وإسقاط عناصر التحكم التي تم إنشاؤها ديناميكيا يتم عرض التعليمات البرمجية

 Button btnTask = new Button();
 btnTask.Content = _myCustomTasks[iCtr].Description;
 btnTask.Background = _myCustomTasks[iCtr].TaskColor;
 stackPanel.Children.Add(btnTask);

متطلباتي هي سحب وإسقاط هذه التحكم في زر النيابة الديناميكيا. شكرا لك مقدما

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

المحلول

  1. الضوابط التي تم سحبها وإسقاطها في المصمم غير ديناميكية تم إنشاؤها. يتم إنشاؤها القانونية وإعادة إنشائها. يمكن الوصول إلى أدوات التحكم بأسلحة الأطروحات من مربع الأدوات في معظم الحالات.
  2. عناصر التحكم المعلنة في التعليمات البرمجية خلفها مثل زرك الناتج ديناميكيا. يجب أن يتم إنشاؤها وإعادة إنشاءها برمجيا. ضوابط الأطروحات تكون حصرية للرمز خلفها.

ومع ذلك، عند استخدام عناصر التحكم التي تم إنشاؤها بشكل حيوي، فهي ممارسة شائعة لاستخدام العناصر النائبة (لا يتم تقديم عنصر التحكم هذا) لوضع الكائنات الخاصة بك.

لنفعل ذلك...

  1. قم بسحب وإسقاط عنصر نائب حيث تريد أن يكون الزر الخاص بك. (مصمم).
  2. أضف الزر الخاص بك إلى العنصر النائب برمجيا. (رمز وراء)

على سبيل المثال...

Button btnTask = new Button();
btnTask.Content = _myCustomTasks[iCtr].Description;
btnTask.Background = _myCustomTasks[iCtr].TaskColor;
PlaceHolder1.Controls.Add(btnTask);

آمل أن يساعد ...

نصائح أخرى

اقتراحي لسحب-نسل في Silverlight:

  1. حدد تخطيط قماش "أدناه" تخطيطك العادي (أمر Z).

  2. عند تحديد الكائن الخاص بك إلى Drag-N-Drop من تخطيطك العادي (الشبكة، إلخ)، انقل الكائن إلى القماش الأساسي الذي يسمح بمواقع البكسل. حرك قماش "أعلاه" التخطيط الحالي.

  3. اسحب الكائن عن طريق تحديث موقف قماش الخاص به.

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

عمل هذا بشكل جيد للغاية لنظام السحب البسيط الذي أحتاجه.

توفر أدوات التحكم Telerik أيضا إطار سحب-N-Drop.

exeff.

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