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

时间:2013-03-19 21:29:50

标签: c# xml xaml windows-runtime winrt-xaml

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

我该怎么做?

1 个答案:

答案 0 :(得分:3)

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

您需要通过转换器绑定它,该转换器采用布尔值并根据需要返回Visibility.VisibleVisibility.Collapsed

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

转换器:

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