Wpf-我如何使用转换器在滚动时显示列表框中的元素

时间:2016-07-15 08:54:37

标签: c# wpf wcf

我有一个绑定到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>

有谁知道这可能有用吗?

0 个答案:

没有答案