BindTransformers.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using Microsoft.UI.Xaml; 6 7 namespace Microsoft.CmdPal.UI.Helpers; 8 9 internal static class BindTransformers 10 { 11 public static bool Negate(bool value) => !value; 12 13 public static Visibility NegateVisibility(Visibility value) => value == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible; 14 15 public static Visibility EmptyToCollapsed(string? input) 16 => string.IsNullOrEmpty(input) ? Visibility.Collapsed : Visibility.Visible; 17 18 public static Visibility EmptyOrWhitespaceToCollapsed(string? input) 19 => string.IsNullOrWhiteSpace(input) ? Visibility.Collapsed : Visibility.Visible; 20 21 public static Visibility EmptyOrWhitespaceToVisible(string? input) 22 => string.IsNullOrWhiteSpace(input) ? Visibility.Visible : Visibility.Collapsed; 23 24 public static Visibility VisibleWhenAny(bool value1, bool value2) 25 => (value1 || value2) ? Visibility.Visible : Visibility.Collapsed; 26 }