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