using System;
using System.Windows;
using System.Windows.Data;
using System.Globalization;
namespace Ravi.Infrastructure.Converters
{
///
/// radio button scenario where you have a Yes/No or Active/Inactive situation
///
public class ConvertBoolForIsChecked : IValueConverter
{
#region Methods
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || parameter == null)
return false;
return System.Convert.ToBoolean(value) == System.Convert.ToBoolean(parameter);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//If “No” is checked
if (System.Convert.ToBoolean(value) == (System.Convert.ToBoolean(parameter) == false))
return false;
else
{
//If “Yes” is checked
if(System.Convert.ToBoolean(value) == System.Convert.ToBoolean(parameter))
return true;
else
{
//inspecting a particular target where it isn’t checked
return DependencyProperty.UnsetValue;
}
}
}
#endregion Methods
}
}






