【发布时间】:2011-04-11 15:44:43
【问题描述】:
我有以下转换器
[ValueConversion(typeof(bool), typeof(Visibility))]
public sealed class BoolToVisibilityConverter : IValueConverter
{
public Visibility TrueValue { get; set; }
public Visibility FalseValue { get; set; }
public BoolToVisibilityConverter()
{
// set defaults
TrueValue = Visibility.Visible;
FalseValue = Visibility.Collapsed;
}
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
if (!(value is bool))
return null;
return (bool)value ? TrueValue : FalseValue;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
if (Equals(value, TrueValue))
return true;
if (Equals(value, FalseValue))
return false;
return null;
}
}
<conv:BoolConverter x:Key="enableStyleConvertor" TrueValue="Visible" FalseValue="Collapsed" />
有没有办法让它更通用,即它可以返回任何类型的对象?
【问题讨论】:
-
只是为了确保:您知道System.Windows.Controls.BooleanToVisibilityConverter 已经存在吗?
-
是的,这只是一个旧的sn-p来解释我的观点
-
你可能想看看我最近关于这个主题的帖子:kentb.blogspot.com/2011/02/booleantovisibilityconverter.html
标签: wpf