Üçüncü bir çözüm:
Bu, biraz daha fazla çalışma önündedir, Enums yüklerini bağlarsanız uzun vadede daha kolay olur. Numaralama türünü bir parametre olarak alan bir Dönüştürücü kullanın ve bunu bir çıkış dizisi olarak bir dizi dizeye dönüştürür. VB.NET içinde
:
Public Class EnumToNamesConverter
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
Return [Enum].GetNames(DirectCast(value, Type))
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
Veya C#
:
<local:EnumToNamesConverter x:Key="EnumToNamesConverter" />
Son olarak kullanın: senin Application.xaml
yılında Sonra
public sealed class EnumToNamesConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Enum.GetNames(value.GetType());
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw New NotSupportedException()
}
}
, bu dönüştürücü erişmek için global bir kaynak eklemek Herhangi bir XAML sayfasındaki herhangi bir Enum ...
The Missing .NET #7: Displaying Enums in WPF
Bu makale de belli değerlerin sunumunu ağır basan bir yöntem gösterilmektedir: tekniğinin alternatifleri ve sözcükler bir adım-adım örneklerde için
<ComboBox ItemsSource="{Binding
Source={x:Type local:CompassHeading},
Converter={StaticResource EnumToNamesConverter}}" />
Sadece Eric Burke'ün bunu yapan bir Swing JComboBox sınıfı hakkındaki son yazısını okudum ve "Hey, yemin ederim ki bu konuda çok soru gördüm ..." diye düşündüm. Yakındım ama WPF'yi değil, Java/Swing'i istiyorsun . Her neyse, işte burada kâhya için: http://stuffthathappens.com/blog/2009/02/10/a-swing-jcombobox-for-enums/ – JMD