![](/img/trans.png)
[英]How to bind nested ItemsControl ItemsSource to an ObservableCollection nested within parent ItemControl's bound item
[英]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));
但是您也应该注意收藏的顺序。
LINQ中Skip的输入参数实际上是“ Count” Skip(0),实际上告诉LINQ什么也不做。
尝试跳过(1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.