60 lines
3.1 KiB
C#
60 lines
3.1 KiB
C#
using System;
|
|
using System.Windows;
|
|
using System.Windows.Data;
|
|
|
|
namespace DTS.Common.Converters
|
|
{
|
|
/// <summary>
|
|
/// Represents the converter that converts Boolean values to and from <see cref="Visibility">Visibility</see> enumeration values.
|
|
/// </summary>
|
|
///
|
|
/// <remarks>
|
|
/// Use the BooleanToVisibilityConverter class to convert a Boolean to and from a <see cref="Visibility">Visibility</see> value.
|
|
/// The Convert method returns <see cref="Visibility.Visible">Visibility.Visible</see> when <b>true</b> is passed in
|
|
/// or <see cref="Visibility.Collapsed">Visibility.Collapsed</see> when <b>false</b> is passed in.
|
|
/// Note that the <see cref="Visibility.Collapsed">Visibility.Collapsed</see> value hides the control and does not reserve space for it in a layout.
|
|
/// When you call the ConvertBack method and specify a reference to an object, it returns <b>true</b>
|
|
/// if the object is <see cref="Visibility.Visible">Visible</see>; otherwise, it returns <b>false</b>.
|
|
/// </remarks>
|
|
///
|
|
public class BooleanToVisibilityConverter : IValueConverter
|
|
{
|
|
/// <summary>
|
|
/// Converts a Boolean value to a Visibility enumeration value.
|
|
/// </summary>
|
|
/// <param name="value">The Boolean value to convert. This value can be a standard Boolean value or a nullable Boolean value.</param>
|
|
/// <param name="targetType">This parameter is not used.</param>
|
|
/// <param name="parameter">The converter parameter to use.</param>
|
|
/// <param name="culture">This parameter is not used.</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)
|
|
{
|
|
var useFalseAsVisible = parameter != null && parameter.ToString().ToUpper() == "FALSE";
|
|
var hideNotCollapse = parameter != null && parameter.ToString().ToUpper() == "HIDE";
|
|
|
|
if (!useFalseAsVisible)
|
|
{
|
|
if ((bool)value)
|
|
return Visibility.Visible;
|
|
return hideNotCollapse ? Visibility.Hidden : Visibility.Collapsed;
|
|
}
|
|
if ((bool)value)
|
|
return hideNotCollapse ? Visibility.Hidden : Visibility.Collapsed;
|
|
return Visibility.Visible;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Converts a Visibility enumeration value to a Boolean value.
|
|
/// </summary>
|
|
/// <param name="value">A Visibility enumeration value.</param>
|
|
/// <param name="targetType">This parameter is not used.</param>
|
|
/// <param name="parameter">This parameter is not used.</param>
|
|
/// <param name="culture">This parameter is not used.</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)
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|