繁体   English   中英

如何跳过显示ItemsItem中与ItemsControl绑定的第一个项目?

[英]How to skip showing the first item in the ItemsSource that bound with a ItemsControl?

我正在使用ItemsControl显示对象列表。 是否可以不显示列表的第一项? 我尝试在ViewModel中创建一个新属性,该属性将跳过第一个元素。

public ObservableCollection<ConditionElement> ExtraConditionLiteral
{
    get 
    { 
        return ConditionElementList.Skip(0) as ObservableCollection<ConditionElement>; 
    }
}

但这是行不通的。 与ItemsSource绑定时,有什么方法可以跳过第一个元素?

我可能会提供另一个想法。 您可以编写您的itemscontrol的项目模板,例如

<Label Visibility="{Binding RelativeSource={RelativeSource PreviousData},Converter={StaticResource NullToVisibilityConverter}}"/>

因此,对于第一个元素,前一个元素为null,并且需要实现NullToVisibilityConverter以在input为null时返回Visibility.Collapsed。 我认为此Converter很常见。

在您的代码中,您实际上并未跳过该元素。 您应该传递发货元素的数量而不是索引。

尝试这个:

return new ObservableCollection<ConditionElement>(ConditionElementList.Skip(1));

但是您也应该注意收藏的顺序。

Enumerable.Skip方法

LINQ中Skip的输入参数实际上是“ Count” Skip(0),实际上告诉LINQ什么也不做。

尝试跳过(1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM