WPF ListBox,自动添加"new element"行

WPF ListBox, automatically add "new element" line

在我的控件中有一个 ListBox。每个 ListBoxItem(通过 ItemTemplate)显示为 Combobox,其 ItemsSource 是我控件的 ViewModel 中的 ObservableCollection。

ComboBox 旁边是一个用于从列表中删除元素的按钮(按钮的单击命令绑定到我控件的 ViewModel 中的删除命令)。这可以正常工作。

现在我希望能够向 ListBox 添加新元素。我知道如何通过单击列表框外部或列表框的 ItemTemplate 中的按钮来执行此操作,但我想添加某种额外的 "empty" 项作为我的列表框的最后一项。

这个 "empty" 项目应该看起来像任何其他项目,除了 ComboBox 没有选择。一旦用户做出选择,就必须显示一个新的 "empty" 项。我希望你明白我的意思...实际上它有点像 "Tags" 编辑器,当你在这里 post 一个新问题时 ;)

有什么想法吗??? (不违反 MVVM 规则)...

而不是 ListBox,使用 DataGridCanUserAddRows="True"。它将添加 "new line" 行,并完全按照您的意愿行事。