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) { return parameter is string reverseString && Equals(reverseString, "reverse") ? boolValue ? Visibility.Visible : Visibility.Collapsed : boolValue ? Visibility.Collapsed : Visibility.Visible; } if(value is null) { return Visibility.Collapsed; } return Visibility.Visible; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }