How to bind RadioButtons to an enum?

前端 未结 9 2262
日久生厌
日久生厌 2020-11-22 03:21

I\'ve got an enum like this:

public enum MyLovelyEnum
{
    FirstSelection,
    TheOtherSelection,
    YetAnotherOne
};

I got a property in

9条回答
  •  说谎
    说谎 (楼主)
    2020-11-22 03:50

    You could use a more generic converter

    public class EnumBooleanConverter : IValueConverter
    {
      #region IValueConverter Members
      public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
        string parameterString = parameter as string;
        if (parameterString == null)
          return DependencyProperty.UnsetValue;
    
        if (Enum.IsDefined(value.GetType(), value) == false)
          return DependencyProperty.UnsetValue;
    
        object parameterValue = Enum.Parse(value.GetType(), parameterString);
    
        return parameterValue.Equals(value);
      }
    
      public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
        string parameterString = parameter as string;
        if (parameterString == null)
            return DependencyProperty.UnsetValue;
    
        return Enum.Parse(targetType, parameterString);
      }
      #endregion
    }
    

    And in the XAML-Part you use:

    
        
          
        
        
          first selection
          the other selection
          yet another one
        
    
    

提交回复
热议问题