using System; using System.Globalization; using System.Windows; using System.Windows.Data; namespace ChatController.Converter { public class BoolToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if(value is bool boolValue) { if(parameter is string reverseString && Equals(reverseString, "reverse")) { return boolValue ? Visibility.Visible : Visibility.Collapsed; } if(parameter is string reverseHiddenString && Equals(reverseHiddenString, "reverse_hidden")) { return boolValue ? Visibility.Visible : Visibility.Hidden; } return boolValue ? Visibility.Collapsed : Visibility.Visible; } return Visibility.Visible; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }