我只是wpf中的新成員,並計劃使用列表框來生成最近打開或關閉的項目。每打開一個文件,它都會被永久添加到類型爲listbox的資源字典中。以編程方式從資源字典中添加刪除項目
另一方面,除了列表框項目是一個按鈕來刪除鏈接。
這可能嗎?
我只是wpf中的新成員,並計劃使用列表框來生成最近打開或關閉的項目。每打開一個文件,它都會被永久添加到類型爲listbox的資源字典中。以編程方式從資源字典中添加刪除項目
另一方面,除了列表框項目是一個按鈕來刪除鏈接。
這可能嗎?
ResourceDictionary是IDictionary
。您可以使用indexer添加/覆蓋項目。
myResourceDictionary["somekey"] = someObject;
至於你的情況,我寧願用ObservableCollection來代替你的列表框和bind。
這的確是可能的,除了bitbonk的答案,我會這樣說:
你可能不想有一個ObservableCollection
充滿ListBoxItems
。 ListBoxItem
是WPF用於渲染的類,您通常不會自己創建這些類。如果您將數據源設置爲(例如)FileInfo
對象的集合,則可以使用數據模板來顯示列表中的這些項目,但是您希望顯示這些項目。這也有利於您不必編寫代碼將數據對象轉換爲單獨的類,僅用於顯示目的。
(你很可能使用自己的數據/模型類型而不是FileInfo
,但我不知道有足夠的瞭解您的解決方案建議之一。)
+1結合一個ObservableCollection:這就是WPF方式畢竟 – stijn
我們可以添加項目到ResourceDictionary中,聲明爲具有源屬性集合的合併字典嗎? – Grigory