我需要根據更改某些過濾器來更改代碼中列表框中所有項目的可見性。我試圖循環使用的項目將本地數組的值綁定到所有列表框項目的特定屬性(可見性)
myListbox.ContainerFromIndex(i)
但只有前幾個沒有返回null。爲什麼我很快就發現這裏的答案:
Why ItemContainerGenerator.ContainerFromIndex() returns null and how to avoid this behavior?
關閉虛擬化並不像尊敬的解決方案給我,我也覺得不舒服關於滾動每一個項目叫ContainerFromIndex前查看,即使可能可以工作。
我從其他主題處理綁定和依賴屬性等方面都不是很聰明,也許也是因爲它們大多數是用xaml編寫的,而不是代碼。但我很確定答案應該在那裏。我對c#很陌生,對於這樣一個基本問題我沒有找到明確的解決方案。
我會準備這樣的陣列典型能見度
Visibility[] visibilities=new Visibility[100]
...
的,我想用100個項目myListBox使用這些值。無論是自動使用一些c#魔法還是像我以前在Win32中做的那樣循環。
所以,你想'過濾'列表框中的集合中的一些值?如果是這樣,爲什麼不過濾收集並重新綁定到列表框? – Depechie
我想根據本地數組中的值更改(可見性)屬性的所有listboxitems的代碼。我目前沒有綁定列表框項目的可見性屬性,所有項目都可見。我不知道如何訪問(集合?)的單個項目,因爲ContainerFromIndex工作不正常。 – hoacin