Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
AutoIfNonEmpty.cs
1using System.Globalization;
2
4{
8 public class AutoIfNonEmpty : IValueConverter, IMarkupExtension
9 {
10 private static readonly GridLength zeroLength = new(0, GridUnitType.Absolute);
11
13 public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
14 {
15 if (value is string s)
16 return !string.IsNullOrEmpty(s) ? GridLength.Auto : zeroLength;
17 else if (value is bool b)
18 return b ? GridLength.Auto : zeroLength;
19 else
20 return value is not null ? GridLength.Auto : zeroLength;
21 }
22
24 public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
25 {
26 return value?.ToString() ?? string.Empty;
27 }
28
30 public object ProvideValue(IServiceProvider serviceProvider)
31 {
32 return this;
33 }
34 }
35}
Automatic length if a property is non-empty.
object ProvideValue(IServiceProvider serviceProvider)
object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)