隐藏 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 属性?

如果可以,您可以将可见性绑定到它。