【问题标题】:Invert the output of the boolean visibility converter?反转布尔可见性转换器的输出?
【发布时间】:2019-12-18 11:32:46
【问题描述】:

在 WPF 中,我有一个元素的可见性应该绑定到一个复选框。我可以使用 BindingPath=IsChecked 和 Converter={StaticResource convVisibility} 使其可见。但是,我想让它隐藏并且没有 BindingPath=IsUnchecked。我可以将布尔值转换为可见性转换器吗?感谢您的帮助。

这是在窗口 xaml 中:

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="convVisibility"/>
</Window.Resources>

【问题讨论】:

标签: wpf


【解决方案1】:

这是我对这个问题的解决方案:

public class BoolVisibilityCollapsedConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            bool param = true;

            if (parameter != null)
                param = System.Convert.ToBoolean(parameter);

            bool state = (bool)value;

            Visibility visibility = Visibility.Visible;

            if (state != param)
                visibility = Visibility.Collapsed;

            return visibility;
        }

如果您使用此转换器,您将切换可见性,例如 True = Visible / False = Collapsed。如果您想要不同的行为(True = Collapsed / False = Visible),只需使用 CommandParameter="False"

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 2013-08-18
    • 2011-09-24
    • 2019-01-03
    • 2018-12-11
    • 2011-06-03
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多