Artık bir medya oynatıcı yapıyorum .. Şarkı aramak için gerçek zamanlı arama fonksiyonu ekledim. (WMP gerçek zamanlı arama gibi bir şey).WPF Denetimi Ayrı UI İş Parçacığı On?
Arama işlemi sırasında veritabanına erişmek ve IEnumerable yüklemek bir BackGroundProcess üzerinden başka bir iş parçacığına yapılır. Kullanıcı Arabirimi, bir UIElement'in bir görevlisini çağırmak suretiyle güncellenir.
Bu işlem oldukça hızlıdır, ancak metin kutusuna arama anahtar sözcüklerini girerken küçük bir gecikme olduğu anlaşılmaktadır, bu durum Listbox.ItemSource güncelleştirmesinin biraz zaman alacaktır. yani "Adele" kelimesini aramak istediğinizde, "a" yazdığınızda, arama fonksiyonu "A" için sonuçları yükler, ancak "Adele" sözcüğünü yazarken, " d "" e "" l "" e "ve bu harfler arasında küçük bir gecikme var.
Bu arama işlemi sırasında, kullanıcı arayüzünü güncellemeyi durdurduğumda arama işlemi çok düzgün görünüyor, bu sadece Listbox'ın iş parçacığı kilitlediğini anlamış, böylece Listbox'ı çalarken oynatıcının Kullanıcı Arabiriminin geri kalanı orada sıkıştı. işlenmesiyle bitti.
Listbox Control'ü başka bir kullanıcı arabirimine koyabiliyorsam, Listbox'ı yüklemek için geçen süreye bakılmaksızın oynatıcının düzgün akışını koruyabileceğime inanıyorum. FYI: Data Virutualization var & ListBox'ta UI var Sanallaştırma çalışıyor
ListBox denetimini başka bir kullanıcı arabirimine nasıl yerleştirebilirim? WPF, C# peşin :) ASP.NET'te
Etkili bir şekilde, en azından hiç görmediğim şekilde yapamazsınız. – Servy
. Net 4.5 Kullanımı?bindings üzerinde güzel bir Gecikme özelliği var, burada sizin için kolay bir kazanç olabilir, temelde 100ms gibi bir değere ayarlayın ve kullanıcı yalnızca bu süre boyunca yazmayı durdurursa (veya presler veya textbox) bağlantıları günceller Odağı kaybeder) – Andy
Bir ve bir tane UI iş parçacığı vardır. –