आप अपने रेडियो बटन पर एक नालीदार बुलियन बांध सकते हैं, लेकिन आपको इसे कनवर्टर के माध्यम से करने की आवश्यकता है।
सबसे पहले अपने चर घोषित:
private bool? answer;
public bool? Answer
{
get { return answer; }
set
{
answer = value;
if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Answer"));
}
}
और null
करने के लिए इसे आरंभ।
<Window.Resources>
<local:BooleanConverter x:Key="BooleanConverter"/>
</Window.Resources>
<StackPanel Grid.Row="1">
<RadioButton Content="I Agree"
IsChecked="{Binding Answer,
Converter={StaticResource BooleanConverter},
ConverterParameter='true', Mode=TwoWay}" />
<RadioButton Content="I Disagree"
IsChecked="{Binding Answer,
Converter={StaticResource BooleanConverter},
ConverterParameter='false', Mode=TwoWay}" />
</StackPanel>
और अंत में अपने कनवर्टर:
class BooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var test = (bool?)value;
var result = bool.Parse((string)parameter);
if (test == result)
{
return true;
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var result = bool.Parse((string)parameter);
return result;
}
}
यह Answer
रेडियो बटन बांधता है और कहा गया है कि पहले एक ही जब मूल्य true
है की जाँच की जाएगी
फिर XAML में
और दूसरा जवाब दिया जाएगा जब उत्तर false
है। फिर आप उपयोगकर्ता को आगे बढ़ने से पहले Answer
शून्य नहीं कर सकते हैं।
यदि यह एक बूलियन है तो आप रेडियो बटन से जुड़ना क्यों चाहते हैं? एक चेक बॉक्स बेहतर नहीं होगा? – ChrisF
मुझे चेकबॉक्स माना जाता है लेकिन क्या यह मुझे एक ही प्रोब नहीं देगा ?? चयनित एक बुलियन से बंधे हैं और कनवर्टर का उपयोग करने के समान समस्या होगी ?? –
नहीं। जब बुलियन झूठा है चेक बॉक्स खाली है। जब यह सच हो जाता है। आप इसे एक बेकार बूलियन से भी बांध सकते हैं और इसे चेक बॉक्स की तीसरी अनिश्चित स्थिति के रूप में कर सकते हैं। आप यहां क्या हासिल करने की कोशिश कर रहे हैं? यह बूलियन क्या दर्शाता है? – ChrisF