zoukankan      html  css  js  c++  java
  • wpf 中radioButton binding enum的时候的一个bug

    View Code
      <RadioButton Margin="0,6,0,0" VerticalAlignment="Center"  Grid.Row="0" Grid.Column="1"   AutomationProperties.AutomationId="MaleRadioButton"
                             Content="{DynamicResource ResourceKey=PM_Male}" 
                             IsChecked="{Binding Gender,
                                                 Mode=TwoWay,
                                                 Converter={StaticResource enumToBooleanConverter1},
                                                 ConverterParameter={x:Static inf:Gender.Male}}"/>
                            <RadioButton Margin="0,6,0,0" VerticalAlignment="Center"  Grid.Row="1" Grid.Column="1"  AutomationProperties.AutomationId="FemaleRadioButton"
                             Content="{DynamicResource ResourceKey=PM_Female}"
                             IsChecked="{Binding Gender,
                                                 Mode=TwoWay,
                                                 Converter={StaticResource enumToBooleanConverter1},
                                                 ConverterParameter={x:Static inf:Gender.Female}}"/>
                            <RadioButton Margin="0,6,0,11" VerticalAlignment="Center"  Grid.Row="2" Grid.Column="1"  AutomationProperties.AutomationId="UnkonwnRadioButton"
                             Content="{DynamicResource ResourceKey=PM_Unkonwn}"
                             IsChecked="{Binding Gender, Mode=TwoWay,
                                                 Converter={StaticResource enumToBooleanConverter1},
                                                 ConverterParameter={x:Static inf:Gender.Unkonwn}}"/>

    转换类

    View Code
      public class EnumToBooleanConverter : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                return ((Enum)value).HasFlag((Enum)parameter);
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                return value.Equals(true) ? parameter : Binding.DoNothing;
            }
        }

    enum

    View Code
      public enum Gender
        {
            Default,
            Male,
            Female,
            Unkonwn
        }
     

    如果不给gender写一个defult的enum。。。如果前台选中一个radiobutton(isChecked=true)。。然后再点击一下这个radiobutton。。会出现第一个radiobutton也被选上的bug。。解决办法。。给它加一个。。不需要的enum值。。作为第一个。。

  • 相关阅读:
    使用NetworkX进行社交分析
    文本情感分析
    使用NLTK进行基础的NLP处理
    使用pandas对文本数据进行处理
    文本处理
    分类器可视化
    无监督学习
    监督学习2
    模型验证
    Netty学习摘记 —— 预置SSL / HTTP / WebSocket编解码器
  • 原文地址:https://www.cnblogs.com/FaDeKongJian/p/2966412.html
Copyright © 2011-2022 走看看