C# WPF:带有添加内容按钮的 ItemsControl

C# WPF: ItemsControl with Add-Content Button

我想实现一个带有按钮的 ItemsControl,该按钮添加与另一个 ViewModel 相同的内容。到目前为止我有这个代码:

<ItemsControl ItemsSource="{Binding Items}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Controls:ItemView />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

该按钮应始终是控件中的最后一项,并且它应该只有一个添加按钮。有人有好的解决方案吗?我可以自己用丑陋的解决方法来做,但我讨厌丑陋的解决方法:)

您需要自定义 ItemsControlTemplate,以便在 ItemsPresenter 下方添加 Button

<ItemsControl ItemsSource="{Binding Items}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Controls:ItemView />
        </DataTemplate>
    </ItemsControl.ItemTemplate>

    <ItemsControl.Template>
        <ControlTemplate TargetType="ItemsControl">
            <StackPanel>
                <ItemsPresenter />
                <Button Content="Add Item"  Click="AddItem_Click"/>
            </StackPanel>
        </ControlTemplate>
    </ItemsControl.Template>

</ItemsControl>