我正在創建一個搜索欄,但似乎無法回傳結果。它似乎區分大小寫。有什么辦法可以使它不區分大小寫,以便用戶可以搜索小寫或大寫并獲得相同的結果?
這是我的代碼提前謝謝!
void SearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
var _Container = BindingContext as PageViewModel;
MyListView.BeginRefresh();
if (String.IsNullOrWhiteSpace(e.NewTextValue))
MyListView.ItemsSource = _Container.MyPageDetailCollection;
else
MyListView.ItemsSource = _Container.MyPageDetailCollection.Where(i => i.Name.Contains(e.NewTextValue));
MyListView.EndRefresh();
}
uj5u.com熱心網友回復:
在執行“where”LINQ 查詢之前,請考慮將字串轉換為小寫/大寫,如下所示:
void SearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
var _Container = BindingContext as PageViewModel;
MyListView.BeginRefresh();
if (String.IsNullOrWhiteSpace(e.NewTextValue))
MyListView.ItemsSource = _Container.MyPageDetailCollection;
else
MyListView.ItemsSource = _Container.MyPageDetailCollection.Where(i => i.Name.ToLower().Contains(e.NewTextValue.ToLower()));
MyListView.EndRefresh();
}
uj5u.com熱心網友回復:
我們可以先將輸入字串轉換為較低的字串。
您可以參考以下代碼:
string queryString = e.NewTextValue;
var normalizedQuery = queryString?.ToLower() ?? "";
MyListView.ItemsSource = _Container.MyPageDetailCollection.Where(f => f.Name.ToLowerInvariant().Contains(normalizedQuery)).ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/470496.html