WPF RadioButton的綁定

1. 枚舉類spa

public enum EnumDataTypes
    {
        Simulation,
        Test
    }

 

2. 枚舉型與布爾型的轉換code

public class EnumToBooleanConverter : IValueConverter
    {
        /// <inheritdoc/>
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return value == null ? false : value.Equals(parameter);
        }

        /// <inheritdoc/>
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return value != null && value.Equals(true) ? parameter : Binding.DoNothing;
        }
    }

 

3. 控件XAML的代碼blog

<Window.Resources>
        <pv:EnumToBooleanConverter x:Key="EnumBoolConverter" />
    </Window.Resources>

<RadioButton Grid.Column="0" Content="仿真" VerticalAlignment="Center"
                             Margin="10 5 0 5" 
                             IsChecked="{Binding Path=SelectedDatabase.DataType, 
                    Converter={StaticResource EnumBoolConverter}, ConverterParameter={x:Static pv:EnumDataTypes.Simulation}}"/>
                <RadioButton Grid.Column="1" Content="試驗" VerticalAlignment="Center"
                             Margin="20 5 0 5"
                             IsChecked="{Binding Path=SelectedDatabase.DataType, 
                    Converter={StaticResource EnumBoolConverter}, ConverterParameter={x:Static pv:EnumDataTypes.Test}}"/>
相關文章
相關標籤/搜索