反转布尔可见性转换器的输出?



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

这是在窗口中 xaml:

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

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

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 = Collapsed/False = Visible(,只需使用 CommandParameter="False">

最新更新