Type Conversion
The
PropertyGrid is able to edit many different kinds
of data, and can provide special-purpose user interfaces for certain
types. For example, the CustomerDetails class
shown earlier has a DateTime or
Date field, and the
PropertyGrid can display a date picker control
when you edit this control. It supports all the built-in types, and
all the types used on common properties on controls. It is also
possible to extend its capabilities so that it can edit new types.
The PropertyGrid turns out not to have a long list
of types that it knows how to display and edit. The control itself
knows nothing about, say, the DateTime or
Color types, and yet it is still able to present
them for editing. This is because it has a very flexible open
architecture that allows any type to make itself editable.
A type can provide various levels of support for the
PropertyGrid, even going as far as supplying a
special-purpose user interface for editing that type (like the
pickers that appear for Color and
ContentAlignment). We will see how to do that
later, but for many types, simple text editing will suffice. So at
the bare minimum, our type must support conversion to and from
text—its value will be converted to text when it is first
displayed in the grid. If the user changes that text, the new
string must be converted back to an instance of
our type for the edit to take effect.
We will now introduce a custom type to the
CustomerDetails example and then add support for basic type conversion ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access