1

我正在尝试在我的 wpf 项目中实现属性更改事件(或任何合适的事件),并且我正在尝试找到执行此操作的最佳方法。

我有这个标题,它有一个展开/折叠图标,在我的窗口中,我可能有多个标题。我希望在开始时列出所有标题但当用户展开某些标题(不是全部)时折叠默认值,当我单击窗口上的“刷新”以更新标题时,我希望它保持原样那是在刷新之前。

所以,如果标题 1 和 2 被展开,而 3 和 4 被折叠,当按下刷新按钮时,我希望它真正记住这一点。问题是,当我单击“刷新”时,它会刷新整个视图,因此会丢失信息。

我试图在承载这些标题的实际类中拥有一个集合来存储信息,因此当标题展开或折叠时,它会通知集合展开/折叠已触发,我想在集合,因此当单击刷新按钮时,如果标题在刷新之前已经存在于视图中,我可以将其与 GUID 进行比较,使用存储的展开/折叠信息更新新标题,因此即使在刷新之后,它将保持它的状态。

4

1 回答 1

1

对于绑定到的类的各个实例,您希望实现 INotifyPropertyChanged 接口。

此外,在存储标头的集合上,您需要实现 INotifyCollectionChanged 接口以指示集合本身何时更改。

这两个接口,如果正确实现,应该使您的对象(以及它们所在的集合)能够被 WPF 数据绑定系统正确绑定。

于 2009-07-09T18:50:24.340 回答