|
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="BooleanToOppositeBooleanConverter.cs" company="Catel development team">
// Copyright (c) 2008 - 2011 Catel development team. All rights reserved.
// </copyright>
// <summary>
// Convert a value to it's inverted value.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
using System;
using System.Windows.Data;
namespace Catel.Windows.Data.Converters
{
/// <summary>
/// Convert a value to it's inverted value.
/// </summary>
/// <remarks>Currently only values of type bool are accepted.</remarks>
#if !SILVERLIGHT
[ValueConversion(typeof(bool), typeof(bool))]
#endif
public class BooleanToOppositeBooleanConverter : IValueConverter
{
/// <summary>
/// Converts value to the inverted value.
/// </summary>
/// <param name="value">A value, currently only bool supported.</param>
/// <param name="targetType">Currently only bool supported.</param>
/// <param name="parameter">Not in use.</param>
/// <param name="culture">Not in use.</param>
/// <returns>The inverted value.</returns>
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool? result = value as bool?;
if (result.HasValue)
{
result = !result.Value;
}
return result;
}
/// <summary>
/// Converts value back, simply inverts again.
/// </summary>
/// <param name="value">A value, currently only bool supported.</param>
/// <param name="targetType">Currently only bool supported.</param>
/// <param name="parameter">Not in use.</param>
/// <param name="culture">Not in use.</param>
/// <returns>The inverted value.</returns>
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool? result = value as bool?;
if (result.HasValue)
{
result = !result.Value;
}
return result;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.