एक कनवर्टर प्रयुक्त किसी पूर्णांक पर bools कन्वर्ट करने के लिए :
Xaml पर, asssuming विकल्प आपकी MyChoice संपत्ति पर 1,2,3 पर मानचित्र :
<RadioButton GroupName="Option" Content="Option 1"
IsChecked="{Binding Path=MyChoice, Converter={StaticResource RadioButtonToIntConverter},
ConverterParameter=1}"/>
<RadioButton GroupName="Option" Content="Option 2"
IsChecked="{Binding Path=MyChoice, Converter={StaticResource RadioButtonToIntConverter},
ConverterParameter=2}"/>
<RadioButton GroupName="Option" Content="Option 3"
IsChecked="{Binding Path=MyChoice, Converter={StaticResource RadioButtonToIntConverter},
ConverterParameter=3}"/>
कनवर्टर में, यह देखते हुए कि मैं किसी भी डाली सुरक्षा जोड़ने नहीं किया:
public class RadioButtonToIntConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var para = System.Convert.ToInt32(parameter);
var myChoice = System.Convert.ToInt32(value);
return para == myChoice;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var para = System.Convert.ToInt32(parameter);
var isChecked = System.Convert.ToBoolean(value);
return isChecked ? para : Binding.DoNothing;
}
}
इसके अलावा, आप आप ViewModel में INotifyPropertyChanged लागू करने के लिए बेहतर चाहते।
स्रोत
2013-08-01 15:55:41