44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Windows;
|
|
using System.Windows.Data;
|
|
|
|
namespace BeWo.Converter
|
|
{
|
|
public class ObjectVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
bool lVisibleIfNull = false;
|
|
|
|
if (parameter != null || parameter is string)
|
|
{
|
|
bool.TryParse((string)parameter, out lVisibleIfNull);
|
|
}
|
|
|
|
if (value is string)
|
|
{
|
|
if (lVisibleIfNull)
|
|
{
|
|
return !string.IsNullOrEmpty((string)value) ? Visibility.Collapsed : Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
return string.IsNullOrEmpty((string)value) ? Visibility.Collapsed : Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
if (lVisibleIfNull)
|
|
{
|
|
return value != null ? Visibility.Collapsed : Visibility.Visible;
|
|
}
|
|
|
|
return value == null ? Visibility.Collapsed : Visibility.Visible;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
} |