我只是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