سؤال

لدي مشكلة صغيرة ، لدي صفيف وأريد أن أضيف ذلك في combobox ، لذلك أريد استخدام طريقة الإضافة ، لكنها غير متوفرة في WPF ، هل هناك طريقة يمكنني القيام بذلك في combobox ؟

شكرًا.

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

المحلول

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

إذا كنت تقوم بتجميع بيانات combobox.itemssource إلى ObservableCollection (بدلاً من معالجة combobox.items مباشرة) ، فهناك خدعة يمكنك استخدامها لتجنب الحصول على إشعارات تغيير المجموعة لكل فرد ، موصوف في الإجابات هذا السؤال.

نصائح أخرى

لا يمكنك ولكن يمكنك استخدام LINQ لمحاكاة addrange

حاول أن تكتب شيئًا كهذا:

    ComboBox    combo;
    String[]    arrOperator = new String[] { "=", "<", "<=", ">", ">=", "<>" };

    combo = new ComboBox();
    arrOperator.ToList().ForEach(item => comboRetVal.Items.Add(item));

يمكنك المحاولة

 comboBox1.ItemsSource = array;

حاول أن تكتب شيئًا كهذا في CodeBehind:

combobox1.items.addrange (جديد [] {"أصفر" ، "DarkBlue" ، "Red" ، "Green"}) ؛

أو

ArrayList Array = new ArrayList () ؛
Array.Add ("1") ؛
Array.Add ("2") ؛
combobox1.items.addrange (صفيف) ؛

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