隐藏 ItemsControl 中的最后一项
Hide last item in a ItemsControl
我有一个绑定到我的视图模型的 ItemsControl,但在数据模板中我也有一个图像。我希望该图像只要不是列表中的最后一项就可见,那么它应该被隐藏(它是一个指向下一个控件的箭头)。
xaml 看起来像这样:
<ItemsControl ItemsSource="{Binding PageContainers}" x:Name="Items">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<controls:DesignControl DataContext="{Binding}" MouseDown="UIElement_OnMouseDown" MouseUp="UIElement_OnMouseUp" MouseMove="UIElement_OnMouseMove"/>
<Image Source="/Resources/Images/arrow.png" Height="16" Width="16" Margin="0,10,0,0"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
那么有什么简单的方法可以检查 Image/Stackpanel 是否在列表的最后?我想我可以订阅一些事件并在后面的代码中完成,但我想如果我可以在 xaml.
中完成它会更干净
您正在绑定到我认为是集合的 PageContainers。能否将该集合的类型扩展为包含 IsLast 属性?
如果可以,您可以将可见性绑定到它。
我有一个绑定到我的视图模型的 ItemsControl,但在数据模板中我也有一个图像。我希望该图像只要不是列表中的最后一项就可见,那么它应该被隐藏(它是一个指向下一个控件的箭头)。
xaml 看起来像这样:
<ItemsControl ItemsSource="{Binding PageContainers}" x:Name="Items">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<controls:DesignControl DataContext="{Binding}" MouseDown="UIElement_OnMouseDown" MouseUp="UIElement_OnMouseUp" MouseMove="UIElement_OnMouseMove"/>
<Image Source="/Resources/Images/arrow.png" Height="16" Width="16" Margin="0,10,0,0"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
那么有什么简单的方法可以检查 Image/Stackpanel 是否在列表的最后?我想我可以订阅一些事件并在后面的代码中完成,但我想如果我可以在 xaml.
中完成它会更干净您正在绑定到我认为是集合的 PageContainers。能否将该集合的类型扩展为包含 IsLast 属性?
如果可以,您可以将可见性绑定到它。