绑定到Enum的RadioButton在未选择的单选按钮上显示错误

时间:2014-04-17 09:00:22

标签: c# wpf xaml

我有两个带右选和左选项的单选按钮:

<RadioButton Content="Right" Margin="5" VerticalAlignment="Center" IsChecked="{Binding Path=Direction, Mode=TwoWay, Converter={StaticResource EnumConverter}, ConverterParameter=Right}"/>
<RadioButton Content="Left" Margin="5" VerticalAlignment="Center" IsChecked="{Binding Path=Direction, Mode=TwoWay, Converter={StaticResource EnumConverter}, ConverterParameter=Left}"/>

以下Enum to Boolean转换器代码

public class EnumBooleanConverter : IValueConverter
{
  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);
  }
}

现在,当我选择单选按钮右侧时,左侧选项显示错误(带有左侧的单选按钮控件周围的红色边框);反之亦然 如何解决这个问题?

找到解决方案,只是在有人需要时添加它。

问题是,它试图从应用程序中选择验证样式。 所以我必须用

装饰单选按钮的每个元素
Validation.ErrorTemplate="{x:Null}"

谢谢!

0 个答案:

没有答案