using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows;
namespace ComPDFKit.Controls.Common
{
///
/// Value converter between bool and Visibility
///
[ValueConversion(typeof(bool), typeof(Visibility))]
public class BoolToVisibleConverter : IValueConverter
{
#region IValueConverter Members
///
/// Converts a value.
///
/// The value produced by the binding source.
/// The type of the binding target property.
/// The converter parameter to use.
/// The culture to use in the converter.
///
/// A converted value. If the method returns null, the valid null value is used.
///
public object Convert(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
if ((bool)value)
{
return Visibility.Visible;
}
else
{
return Visibility.Collapsed;
}
}
///
/// Converts a value back.
///
/// The value that is produced by the binding target.
/// The type to convert to.
/// The converter parameter to use.
/// The culture to use in the converter.
///
/// A converted value. If the method returns null, the valid null value is used.
///
public object ConvertBack(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
return (Visibility)value == Visibility.Visible;
}
#endregion IValueConverter Members
}
///
/// Value converter between bool and Visibility
///
[ValueConversion(typeof(bool), typeof(Visibility))]
public class BoolToCollapsedConverter : IValueConverter
{
#region IValueConverter Members
///
/// Converts a value.
///
/// The value produced by the binding source.
/// The type of the binding target property.
/// The converter parameter to use.
/// The culture to use in the converter.
///
/// A converted value. If the method returns null, the valid null value is used.
///
public object Convert(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
if ((bool)value)
{
return Visibility.Collapsed;
}
else
{
return Visibility.Visible;
}
}
///
/// Converts a value back.
///
/// The value that is produced by the binding target.
/// The type to convert to.
/// The converter parameter to use.
/// The culture to use in the converter.
///
/// A converted value. If the method returns null, the valid null value is used.
///
public object ConvertBack(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
return null;
}
#endregion IValueConverter Members
}
}