gpt4 book ai didi

Silverlight 绑定(bind)到 bool 属性值的反转

转载 作者:行者123 更新时间:2023-12-04 01:17:11 25 4
gpt4 key购买 nike

我想将控件可见性绑定(bind)到 bool 属性值的反转。我有一个属性 CanDownload,如果它是真的,那么我想隐藏文本框,反之亦然。我怎样才能做到这一点?

谢谢

最佳答案

这类问题被问到 所以经常和答案所以类似的,我认为是时候对所有(好吧可能是“大多数”) bool 值转换问题有一个单一的答案。我已经写了here .

代码非常简单,所以我也将其粘贴在这里:-

public class BoolToValueConverter<T> : IValueConverter
{
public T FalseValue { get; set; }
public T TrueValue { get; set; }

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return FalseValue;
else
return (bool)value ? TrueValue : FalseValue;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value != null ? value.Equals(TrueValue) : false;
}
}

现在,您可以使用单线创建可见性转换器:-
public class BoolToVisibilityConverter : BoolToValueConverter<Visibility> { }

然后,您可以在这样的资源中创建实例转换器:-
<local:BoolToVisibilityConverter x:Key="InverseVisibility" TrueValue="Collapsed" FalseValue="Visible" />

注意 TrueValueFalseValue是从更自然的顺序交换,给你你想要的倒置逻辑。有了这个 Resources在您的 UserControl甚至 App.xaml 您现在可以使用它来绑定(bind)到 CanDownload属性(property)给 TextBox Visibility属性(property):-
<TextBox Visibility="{Binding CanDownload, Converter={StaticResource InverseVisibility}}" />

关于Silverlight 绑定(bind)到 bool 属性值的反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com