Facilitates WPF data binding to enums by providing an enumeration of Choices, read/write access to a string representation (which may be localized in derived classes), and the type-safe enum value itself. More...
Public Member Functions | |
| EnumProvider (T initialValue) | |
| EnumViewModel< T > | GetViewModel (T member) |
| Returns the view model for a given member. More... | |
Protected Member Functions | |
| virtual string | GetDescription (T member) |
| Returns a display string for a given enum value. More... | |
| virtual string | GetTooltip (T member) |
| Returns a tooltip for the given enum member. More... | |
Properties | |
| T | AsEnum [get, set] |
| EnumViewModel< T > | SelectedItem [get, set] |
| string | ToolTip [get] |
| IEnumerable< EnumViewModel< T > > | Choices [get] |
| Returns an array of enum view models that represent the enum members. More... | |
Events | |
| PropertyChangedEventHandler | PropertyChanged |
Facilitates WPF data binding to enums by providing an enumeration of Choices, read/write access to a string representation (which may be localized in derived classes), and the type-safe enum value itself.
When providing a public EnumProvider property, you need to wire up the PropertyChanged event:
To bind to a ComboBox to an EnumProvider property, use:
To make use of per-item enabled states and tool tips, it is helpful to define a generic style in a central resource dictionary:
Since generic type parameters cannot be enums, the workaround "struct, IConvertible" is used here as suggested in http://stackoverflow.com/q/79126/270712
| T | : | struct | |
| T | : | IConvertible |
Definition at line 83 of file EnumProvider.cs.
|
inlineprotectedvirtual |
Returns a display string for a given enum value.
In the base class, this is the description attribute, if present. Derived classes may override this to return localized strings.
| forValue | Enum value for which to return a display string. |
See http://stackoverflow.com/a/1799401/270712 for description of attribute accession.
Definition at line 176 of file EnumProvider.cs.
|
inlineprotectedvirtual |
Returns a tooltip for the given enum member.
Derived classes may override this method to return localized tooltips.
| member | Enum member for which to return a tooltip. |
Definition at line 201 of file EnumProvider.cs.
|
inline |
Returns the view model for a given member.
The view model may be used to enable/disable the member, or set a different description or tooltip.
| member | Member whose view model to return. |
Definition at line 226 of file EnumProvider.cs.
|
get |
Returns an array of enum view models that represent the enum members.
Definition at line 130 of file EnumProvider.cs.