[英]how to filter only integer value from listbox in wpf?
我已經創建了一個產品表,然后只給出整數值,即使用下面的linq查詢下面的產品ID:var Autolist = db.Products.Select(p => p.Pid).Distinct()。ToList(); listbox1.Itemsource =自動列表; 所以,如果我在文本框中鍵入整數值以進行過濾以匹配列表框,則該怎么辦?
將原始列表保存在單獨的列表中。 您的情況:產品。 創建一個ObservableCollection of Products(FilteredProducts)並將其綁定到列表。 將TextBox綁定為一個ProductId並將延遲設置為一些誤差:
<TextBox Text="{Binding ProductId
Delay=300,
UpdateSourceTrigger=PropertyChanged}" />
一旦設置了值(設置前過濾數字),請清除OnbservableCollection並將值再次添加到其中。
FilteredProducts.Clear();
foreach(Product p in db.Products.Where(p.Id == ProductId))
{
FilteredProducts.Add(p);
}
注意:
listbox1.Itemsource=FilteredProducts
請注意,對於小清單,此解決方案是可行的,如果項列表很大,則清除和添加項將是一個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.