【发布时间】:2012-06-15 17:40:05
【问题描述】:
简短的问题。在 Winforms 中,您可以通过以下方式将数据视图绑定到组合框或其他控件:
combobox.DataSource = dataview
combobox.DisplayMember = "Something"
在 WPF 中,我通常使用 ObservableCollection 完成数据绑定并编辑 xaml。有没有办法像上面那样快速做到这一点?
编辑: 这似乎是我能想到的最简单/最快的事情,它本身有什么问题吗?
combobox.ItemSource = dataview
combobox.DisplayMemberPath = "Something"
【问题讨论】:
-
你这样做是在欺骗自己。正确使用 INotifyPropertyChanged 和 ObserveableCollections 将对您产生巨大的影响。实现起来有点复杂,但从长远来看,它会为您简化事情,而且功能更强大。
-
@Yatrix 感谢您的意见,数据绑定远非我的专长,但您能否详细说明一下您说它更强大并且从长远来看会简化事情的意思?
-
如果您使用我提到的界面和集合,当您更改集合中任何项目的属性时,它会自动更新 UI 中的项目。这意味着您不必手动管理编辑或 UI 更新,从而简化了管理数据呈现的长期前景。一般来说,像winform一样使用WPF是没有意义的。 WPF 提供了许多 winform 没有的功能,其中大部分功能可以通过一些专有技术在标记中完成。它确实是一个很棒的工具,但它是对 winforms 的重大调整。