我有XML文件和listView,如果XML元素<Finished>
的值等于false,我想隐藏此列表中的特定XAML元素View Item。
我该怎么做?
答案 0 :(得分:3)
将XAML元素的可见性绑定到列表项的Finished
属性。
您需要通过转换器绑定它,该转换器采用布尔值并根据需要返回Visibility.Visible
或Visibility.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