मुझे ऑटोकंपलेटबॉक्स फ़िल्टरिंग के साथ कोई समस्या है।SL4 AutoCompleteBox फ़िल्टर परिणाम जारी करने के मुद्दे
ऐसा लगता है कि पिछले फ़िल्टर को याद किया जा रहा है।
उदाहरण के लिए मैं 'ए' टाइप करता हूं और यह 1 आइटम देता है। मैं 'ए' को हटाता हूं और 'जेड' टाइप करता हूं जिसे 1 आइटम वापस करना चाहिए।
समस्या यह है कि यह 'ए' फ़िल्टर और 'जेड' से परिणाम देता है, मैं 'जेड' और 'एस' टाइप करता हूं जो 2 आइटम वापस लाता है और अब यह सभी 3 फ़िल्टरों से परिणाम प्रदर्शित करता है।
क्या मैं कुछ गलत कर रहा हूं?
stockTypes.Add(new StockTypeDTO() { Description = "Steel Coil", StockCode = "SC" });
stockTypes.Add(new StockTypeDTO() { Description = "Palletised Steel Coil", StockCode = "PS" });
stockTypes.Add(new StockTypeDTO() { Description = "ZZZZZ", StockCode = "ZZ" });
<input:AutoCompleteBox x:Name="testauto" FilterMode="Custom">
<input:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<ContentPresenter Content="{Binding Description}" />
</StackPanel>
</DataTemplate>
</input:AutoCompleteBox.ItemTemplate>
</input:AutoCompleteBox>
testauto.ItemsSource = this.StockTypes;
testauto.ItemFilter = (search, item) =>
{
StockTypeDTO stockType = item as StockTypeDTO;
if (stockType != null)
{
string filter = search.ToUpper(CultureInfo.InvariantCulture);
return (stockType.StockCode.ToUpper(CultureInfo.InvariantCulture).Contains(filter)
|| stockType.Description.ToUpper(CultureInfo.InvariantCulture).Contains(filter));
}
return false;
};
बिल्कुल सही, धन्यवाद। यह महानगरीय विषय था जो इसे मेरे लिए तोड़ दिया –