WPF uygulamalarında mesela bir combobox’a bir enum tipin değerlerini doğrudan bağlayamayız,çünkü enum tipi tüm değerlerini döndüren bir property’e sahip değil.İsimleri almanın tek yolu GetNames() metodunu çağırmaktır.Peki bunu XAML’da nasıl yapabiliriz derken tam bu sırada ObjectDataProvider imdadımıza yetişiyor.ObjectDataProvider bize metodun ismini ve parametrelerini belirtmemizi ve bu metodu XAML ile çağırmamızı sağlar.
xmlns:sys="clr-namespace:System;assembly=mscorlib"
<Window.Resources>
<ObjectDataProvider x:Key="visibilityResource" MethodName="GetNames" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:TypeExtension TypeName="Visibility"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<ComboBox Height="30" Width="120" ItemsSource="{Binding Source={StaticResource visibilityResource}}" SelectedIndex="0" />
ObjectDataProvider ile enum tiplerin değerlerini kolayca listeleme kontrollerine bağlayabiliriz.
Teşekkürler.