WPF/Silverlight Autocompletebox مع القدرة على إضافة قيم جديدة إلى القائمة

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

سؤال

أرغب في استخدام AutoCompleteBox مع قائمة بالقيم ، ولكن أيضًا إضافة قيم جديدة إلى القائمة إذا كان المستخدم يدخل واحدة غير موجودة.

لدي حاليا خاصية سلسلة في نموذج العرض الخاص بي بعنوان "التعليق". حاليًا يرتبط هذا مربع نص في العرض - يقوم المستخدم بتكوين تعليق ويتم تحديث نموذج العرض. بسيط.

لتوفير الوقت ، يرغب عميلي في الإكمال التلقائي من القيم السابقة ، وبالتالي فإن الطريقة التي فكرت بها في القيام بذلك هي شيء مثل:

ViewModel

public string Comment;
public ObservableCollection<string> CommentsList { ... }

(ملء قائمة Comments عند إنشاء ViewModel)

رأي

<AutoCompleteComboBox ItemsSource="{Binding CommentsList}" SelectedItem="{Binding Comment, Mode=TwoWay/>

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

هل هذا ممكن مع CompleteBox؟

شكرا مقدما ، سوف

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

المحلول

وجدت الحل ...

كنت بحاجة لاستخدام خاصية النص ، وليس المحدد.

نصيحتوي على النص الحالي الذي أدخله المستخدم أو تحديده.

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

نرى:

http://www.jeff.wilcox.name/2008/10/introducing-autocompletebox/

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