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>
该按钮应始终是控件中的最后一项,并且它应该只有一个添加按钮。有人有好的解决方案吗?我可以自己用丑陋的解决方法来做,但我讨厌丑陋的解决方法:)
您需要自定义 ItemsControl
的 Template
,以便在 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>
我想实现一个带有按钮的 ItemsControl,该按钮添加与另一个 ViewModel 相同的内容。到目前为止我有这个代码:
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Controls:ItemView />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
该按钮应始终是控件中的最后一项,并且它应该只有一个添加按钮。有人有好的解决方案吗?我可以自己用丑陋的解决方法来做,但我讨厌丑陋的解决方法:)
您需要自定义 ItemsControl
的 Template
,以便在 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>