44 lines
2.1 KiB
C#
44 lines
2.1 KiB
C#
using System;
|
|
using System.Windows.Data;
|
|
|
|
namespace DTS.Common.Converters
|
|
{
|
|
/// <summary>
|
|
/// Represents a converter that converts a Boolean value to its inverse.
|
|
/// </summary>
|
|
public class InverseBooleanConverter : IValueConverter
|
|
{
|
|
/// <summary>
|
|
/// Modifies the source data before passing it to the target for display in the UI.
|
|
/// </summary>
|
|
/// <param name="value">The source data being passed to the target.</param>
|
|
/// <param name="targetType">The System.Type of data expected by the target dependency property.</param>
|
|
/// <param name="parameter">An optional parameter to be used in the converter logic.</param>
|
|
/// <param name="culture">The culture of the conversion.</param>
|
|
/// <returns>The value to be passed to the target dependency property.</returns>
|
|
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
|
{
|
|
if (value == null) return false;
|
|
bool val;
|
|
bool.TryParse(value.ToString(), out val);
|
|
return !val;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Modifies the target data before passing it to the source object. This method is called only in System.Windows.Data.BindingMode.TwoWay bindings.
|
|
/// </summary>
|
|
/// <param name="value">The target data being passed to the source.</param>
|
|
/// <param name="targetType">The System.Type of data expected by the source object.</param>
|
|
/// <param name="parameter">An optional parameter to be used in the converter logic.</param>
|
|
/// <param name="culture">The culture of the conversion.</param>
|
|
/// <returns>The value to be passed to the source object.</returns>
|
|
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
|
{
|
|
if (value == null) return false;
|
|
bool val;
|
|
bool.TryParse(value.ToString(), out val);
|
|
return !val;
|
|
}
|
|
}
|
|
}
|