1. 程式人生 > >WPF中radiobutton 的 data binding方法

WPF中radiobutton 的 data binding方法

  WPF中的RadioButton通過data binding繫結到一個bool屬性後,如下所示,儘管UI可以正確的顯示,但是data binding的屬性不能正確的更新。比如user點了No之後屬性UserChoice還是True。

<RadioButton Content="Yes" IsChecked="{Binding UserChoice}"/>
<RadioButton Content="No"/>
需要用如下的方式:
<RadioButton Content="Yes" IsChecked="{Binding UserChoice}"/>
<RadioButton Content="No" IsChecked="{Binding UserChoice, Converter={StaticResource radioConverter}}"/>
radioconverter如下:
    public class RadioButtonConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return !(bool)value;
            }
            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return !(bool)value;
            }
            return value;
        }
    }

本文來自fresky的部落格,原文地址:http://www.cnblogs.com/fresky/archive/2012/08/06/2624629.html