我有一个绑定到ListBox的大对象列表。在该列表框中,我显示了一个文件的名称和一个来自WCF的图像的字节数组。我会根据滚动位置显示列表框中的文件,因此从该滚动位置看不到的文件将被设置为隐藏。 我在互联网上发现了一种可能对我有帮助的方法,但我看不出这种方法可行。 我找到了应该帮助我的转换器,并将该类设置为窗口资源。当我打开应用程序时,所有项目都转换为可见。 这是班级:
class NullVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value == null ? Visibility.Hidden : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value == null ? Visibility.Visible : Visibility.Hidden;
}
}
在Xaml中,我将此类设置为窗口资源,并将功能绑定到列表框项目中的图像和名称
<Window.Resources>
<view:NullVisibilityConverter x:Key="NullToVis"/>
</Window.Resources>
<Image Source="{Binding Path=Image}" Visibility="{Binding Path=Image, Converter={StaticResource NullToVis}}" Height="80" Width="80" Grid.Column="0"/>
<StackPanel Grid.Column="1" Visibility="{Binding Path=Image, Converter={StaticResource NullToVis}}" Orientation="Vertical" Width="80" Height="30">
<TextBlock Text="{Binding Path=Name}" Margin="5,1,0,1"/>
</StackPanel>
有谁知道这可能有用吗?