Files
DP44/Common/DTS.CommonCore/Converters/InverseBooleanConverter.cs
2026-04-17 14:55:32 -04:00

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;
}
}
}