如何在ListView中隐藏特定值的数据绑定元素

本文关键字:数据绑定 元素 隐藏 ListView | 更新日期: 2023-09-27 18:04:40

我有XML文件和listView,我想在这个列表中隐藏特定的XAML元素,如果XML元素<Finished>的值等于false。

我该怎么做?

如何在ListView中隐藏特定值的数据绑定元素

将XAML元素的可见性绑定到列表项的Finished属性。

您需要通过一个转换器绑定它,该转换器接受一个布尔值,并根据需要返回Visibility.VisibleVisibility.Collapsed:

<TextBlock Visibility="{Binding Finished,
                        Converter={StaticResource BoolToVisibilityConverter}}"/>
converter:

public class GenderConverter: IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value is bool)
            return (bool)value ? Visibility.Visible : Visibility.Collapsed;
        else
            return Visibility.Collapsed;
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw NotImplementedException();
    }
}

如果值不是布尔值,则转换器将稍微复杂一些,您可能需要传递ConverterParameter作为控制值,以便您可以更好地控制何时返回Visibility.Visible