Bind enum to
combo box items.
In order to
bind an enum to the data source of any wpf control, we can take advantage of
ObjectDataProvider. Here is an example:
Let’s say we
have an enum declared as
namespace
SimpleObjectDataSourceExample
{
public enum DeptEnum {
Payroll, Trading, Sales };
}
Here is the
xaml to make these enum entries as the items of a combo box.
<Window x:Class="SimpleObjectDataSourceExample.MainWindow2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:SimpleObjectDataSourceExample"
Title="MainWindow2" Height="300" Width="403">
<Window.Resources>
<ObjectDataProvider x:Key="deptEnumSource"
ObjectType="{x:Type Sys:Enum}" MethodName="GetValues"
>
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:DeptEnum"></x:Type>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="69,68,0,0" Name="comboBox1"
VerticalAlignment="Top"
Width="156"
ItemsSource="{Binding Source={StaticResource deptEnumSource}}"
>
</ComboBox>
</Grid>
</Window>
No comments:
Post a Comment