2011-11-07 70 views
3

我只是wpf中的新成員,並計劃使用列表框來生成最近打開或關閉的項目。每打開一個文件,它都會被永久添加到類型爲listbox的資源字典中。以編程方式從資源字典中添加刪除項目

另一方面,除了列表框項目是一個按鈕來刪除鏈接。

這可能嗎?

回答

6

ResourceDictionary是IDictionary。您可以使用indexer添加/覆蓋項目。

myResourceDictionary["somekey"] = someObject;

而且你可以使用Add()Remove()方法。

至於你的情況,我寧願用ObservableCollection來代替你的列表框和bind

+0

+1結合一個ObservableCollection:這就是WPF方式畢竟 – stijn

+0

我們可以添加項目到ResourceDictionary中,聲明爲具有源屬性集合的合併字典嗎? – Grigory

0

這的確是可能的,除了bitbonk的答案,我會這樣說:

你可能想有一個ObservableCollection充滿ListBoxItemsListBoxItem是WPF用於渲染的類,您通常不會自己創建這些類。如果您將數據源設置爲(例如)FileInfo對象的集合,則可以使用數據模板來顯示列表中的這些項目,但是您希望顯示這些項目。這也有利於您不必編寫代碼將數據對象轉換爲單獨的類,僅用於顯示目的。

(你很可能使用自己的數據/模型類型而不是FileInfo,但我不知道有足夠的瞭解您的解決方案建議之一。)

相關問題