-
Couldn't load subscription status.
- Fork 19
Open
Description
[ValueConversion(typeof(bool?), typeof(Visibility))]
public sealed class BoolToVisibilityConverter : IValueConverter
{
public static readonly BoolToVisibilityConverter VisibleWhenTrueElseCollapsed = new BoolToVisibilityConverter(Visibility.Visible, Visibility.Collapsed);
public static readonly BoolToVisibilityConverter VisibleWhenTrueElseHidden = new BoolToVisibilityConverter(Visibility.Visible, Visibility.Hidden);
private readonly object whenTrue;
private readonly object whenFalse;
public BoolToVisibilityConverter(Visibility whenTrue, Visibility whenFalse)
{
this.whenTrue = whenTrue;
this.whenFalse = whenFalse;
}
public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value switch
{
true => this.whenTrue,
false => this.whenFalse,
null => this.whenFalse,
_=> throw new ArgumentException("expected bool", nameof(value)),
};
}
object IValueConverter.ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new System.NotSupportedException($"{nameof(BoolToVisibilityConverter)} can only be used in OneWay bindings");
}
}vlm---
Metadata
Metadata
Assignees
Labels
No labels