Where Are We?
In this chapter, we've covered the fundamental elements of data binding in Windows Forms. We started by looking at the underlying mechanics and how they can be used to build a list data source that supports basic data binding functionality, such as bidirectional synchronization and data conversion between a data source and a bound control, as well as currency, navigation, list management, and item, list, and list item change notification. Windows Forms provides the BindingSource component, which can consume a simple type and provide all these features for you and save significant effort. Thanks to its ability to provide shape information about items contained in list data sources, and because it's a design-time component, BindingSource can be dropped onto a form and used to construct a data-bound UI declaratively, in conjunction with the Data Sources window.
In the next chapter, we see how these fundamental elements to support drag-and-drop data binding, and we address complex real-world data binding scenarios, including formatting and parsing data as it's synchronized between bound controls and data sources, sorting, searching, and filtering, and building common data-bound UIs such as master-details UIs.