IValueConverter for bool to Visibility
By Robbe Morris
Quick tip for creating an IValueConverter that takes a boolean value from say a database record and sets the Visibility property on a XAML control to Visible or Collapsed.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Controls;
using System.Windows.Data;
public class VisibilityConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType,object parameter, CultureInfo culture)
{
try
{
if (Convert.ToBoolean(value.ToString())) return System.Windows.Visibility.Visible;
}
catch { }
return System.Windows.Visibility.Collapsed;
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
// Register as UserControl resource
<UserControl.Resources>
<XAMLConverters:VisibilityConverter x:Key="localVisibilityConverter" />
</UserControl.Resources>
// Syntax use in XAML binding
Visibility="{Binding Path=EditVisibility, Mode=OneWay,Converter={StaticResource localVisibilityConverter}}"
IValueConverter for bool to Visibility (8281 Views)