0
我有一個場景,我爲一組單選按鈕保留了三個不同的屬性是否有可能使它單一?擁有3個單選按鈕的單個屬性並沒有正確更新
<RadioButton GroupName="os" IsChecked="{Binding Age} IsChecked="{Binding Name,Mode=TwoWay,Converter={StaticResource enumConverter},ConverterParameter=a}"/>
<RadioButton GroupName="os" IsChecked="{Binding Age,Mode=TwoWay,Converter={StaticResource enumConverter},ConverterParameter=b}"/>
<RadioButton GroupName="os" IsChecked="{Binding Age,Mode=TwoWay,Converter={StaticResource enumConverter},ConverterParameter=c}"/>
在這裏,我需要編寫一個字符串轉換,其中,我將經過轉換器參數爲A,B,C爲各單選按鈕。
public class EnumMatchToBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
if (value == null || parameter == null)
return false;
//string checkValue = value.ToString();
//string targetValue = parameter.ToString();
//return checkValue.Equals(targetValue,
// StringComparison.InvariantCultureIgnoreCase);
if (value.ToString() == "True" && (parameter.ToString() == "a" || parameter.ToString() == "b" || parameter.ToString() == "c"))
{
return true;
}
else
return false;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
if (value == null || parameter == null)
return null;
//bool useValue = (bool)value;
//string targetValue = parameter.ToString();
//if (useValue)
// return Enum.Parse(targetType, targetValue);
//return null;
if (value.ToString() == "True" && (parameter.ToString() == "b" || parameter.ToString() == "a" || parameter.ToString() == "c"))
{
return true;
}
else
return false;
}
}
您是否嘗試了我的建議或發生了什麼? – mm8