簡體   English   中英

如何從WPF中的列表框中過濾僅整數值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM