سؤال

أحتاج إلى تنفيذ comboBox قابل للتحرير حيث يمكن للمستخدمين تحديد القيم الموجودة من البيانات/الجداول. يجب أن تكون قابلة للتحرير لأن المستخدمين يمكنهم أيضًا إضافة صفوف جديدة إلى الجدول عن طريق إدخال قيم جديدة في ComboBox القابلة للتحرير ، لذلك أضع عنصر تحكم في صندوق الإكمال التلقائي في صفحتي ولكن لا يمكنني العثور على أي عينة حول كيفية تنفيذ هذه الميزة. يجب أن يعرض شيئًا مثل اسم الموظف في القائمة المنسدلة القابلة للتحرير مع وجود خاصية SelectValue لاحتواء معرف الموظف.

أي مساعدة سوف تكون محل تقدير كبير جدا.

هتافات!

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

المحلول

ستحتاج إلى ربط مجموعة العناصر التلقائية الخاصة بك بمجموعة "البحث" الخاص بك. يمكنك استخدام valuemmedbbinding لحل المدخلات النصية للبحث عنها ، أي إذا كان لديك قائمة بالأشخاص ، فربط هذا بالنموذج. الاسم مثل هذا {binding name} للعثور على أشخاص بالاسم.

بقدر العناصر المنسدلة ، يمكنك استخدام templating لعرض العناصر بالطريقة التي تريدها.هيريس توت جيد حول هذا الموضوع ، تريد تصميم itemTemplate. فيما يلي من المثال ، يمكنك إنشاء datatemplate في XAML ضمن عنصر itemstemplate ، أضف textblock وربط خاصية النص الخاصة به لتسمية مثل {binding name}.

هنا مثال رائع حيث يتم تصميم صندوق الإكمال التلقائي مثل combobox. يمكنك تمديد ذلك للبحث عن "Enter" على TextChanged وتحقق لمعرفة ما إذا كان العنصر موجودًا في العناصر Ssource. إذا لم يكن بإمكانه دفع القيمة الجديدة إلى الخادم (إذا كنت في MVVM ، فيمكنك رفع أمر عليك ViewModel الذي من شأنه تفويض الإضافة إلى الخادم وتحديث العناصر).

نصائح أخرى

فيما يلي مثال آخر يمتد مربع الإكمال التلقائي ليتم استخدامه كجهاز كومبوكس من النوع. يمكنه التعامل مع معرفات المفاتيح / البحث الأجنبية باستخدام DPS ويمكن استخدامها في سيناريوهات MVVM.comboBox الإكمال التلقائي لـ Silverlight

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