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 [AcceptEmptyServiceProvider]
9 public class AutoIfNonEmpty : IValueConverter, IMarkupExtension
10 {
11 private static readonly GridLength zeroLength = new(0, GridUnitType.Absolute);
12
14 public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
15 {
16 if (value is string s)
17 return !string.IsNullOrEmpty(s) ? GridLength.Auto : zeroLength;
18 else if (value is bool b)
19 return b ? GridLength.Auto : zeroLength;
20 else
21 return value is not null ? GridLength.Auto : zeroLength;
22 }
23
25 public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
26 {
27 return value?.ToString() ?? string.Empty;
28 }
29
31 public object ProvideValue(IServiceProvider serviceProvider)
32 {
33 return this;
34 }
35 }
36}
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)