2010-10-22 11 views
5

AutoCompleteBox के स्रोत कोड में की स्थापना (Microsoft से डाउनलोड किया जा सकता) मैं निम्नलिखित पाया:सिल्वरलाइट 4 AutoCompleteBox, SelectedItem शून्य पर

/// <summary> 
/// Called when the selected item is changed, updates the text value 
/// that is displayed in the text box part. 
/// </summary> 
/// <param name="newItem">The new item.</param> 
private void OnSelectedItemChanged(object newItem) 
{ 
    string text; 

    if (newItem == null) 
    { 
    text = SearchText; 
    } 
    else 
    { 
    text = FormatValue(newItem, true); 
    } 

    // Update the Text property and the TextBox values 
    UpdateTextValue(text); 

    // Move the caret to the end of the text box 
    if (TextBox != null && Text != null) 
    { 
    TextBox.SelectionStart = Text.Length; 
    } 
} 

मुझे क्या परेशानी पैदा करती है {पाठ = SearchText;} है लाइन। अगर मैं अपने व्यूमोडेल में चयनित इटैम को बांधता हूं और ऑटोकंपलेटबॉक्स में एक खोज प्रविष्टि के बाद, सर्चटेक्स्ट खाली नहीं होता है, तो जब अंतर्निहित डेटा शून्य पर रीसेट हो जाता है, तो ऑटोकंपलेटबॉक्स खाली स्ट्रिंग के बजाय सर्चटेक्स्ट प्रदर्शित कर सकता है। क्या कोई यह समझा सकता है कि यह इस तरह क्यों लिखा गया है, और एक समाधान का सुझाव है?

+0

सही दिशा में मुझे इंगित करने के लिए धन्यवाद। –

उत्तर

1

मुझे विश्वास है कि ऐसा इसलिए है कि जब कोई वास्तविक खोज वस्तु नहीं है, तो बॉक्स "यहां खोजें" जैसा कुछ प्रदर्शित करता है। उदाहरण के लिए, StackOverflow के खोज बॉक्स को देखें, जो खाली होने पर "खोज" कहता है।

+0

लगता है और उपलब्ध सीमित कोड से सही दिखता है। – cofiem

1

यह वास्तव में कष्टप्रद है और मुझे अभी तक कोई फिक्स नहीं मिला है। यह सिल्वरलाइट टूलकिट इश्यू ट्रैकर here पर है। मैंने आइटम्ससोर्स को शून्य पर सेट करने के बारे में कुछ here भी पढ़ा है जिसे मैं इसके साथ खेलना चाहता हूं।

यदि मुझे कोई कामकाज मिल जाए तो मैं अपडेट करूंगा।

संबंधित मुद्दे