以编程方式添加资源字典中的删除项

时间:2011-11-07 07:00:04

标签: c# .net wpf

我是wpf的新手,我打算使用列表框生成最近打开或关闭的项目。每次打开文件时,都会将其永久添加到列表框项类型的资源字典中。

另一方面,除了列表框项目之外,还有一个用于删除链接的按钮。

这可能吗?

2 个答案:

答案 0 :(得分:6)

ResourceDictionary是IDictionary。您可以使用indexer添加/覆盖项目。

myResourceDictionary["somekey"] = someObject;

您可以使用Add()Remove()方法。

至于您的情况,我更愿意使用ObservableCollection代替bind您的列表框。

答案 1 :(得分:0)

这确实是可能的,除了bitbonk的回答,我会这样说:

您可能 希望ObservableCollection填充ListBoxItemsListBoxItem是WPF用于渲染的类,您通常不会自己创建这些类。如果您将数据源设置为(例如)FileInfo个对象的集合,则可以使用数据模板使列表中的这些项目显示出来,无论您希望如何。这样做的好处是,您不必编写代码将数据对象转换为单独的类,仅用于显示目的。

(您可能使用自己的数据/模型类型而不是FileInfo,但我对您的解决方案建议不够充分。)