2

我基本上想创建这样的东西:

因此,用户可以从列表中添加/删除项目并在列表下方的红色面板中对其进行编辑。选择项目后,可以在面板中进行更改。

然后,可以使用以下按钮之一保存或取消更改。如果不明确取消更改,用户将无法选择列表中的其他项目。

这该怎么做?我只看到使红色面板成为单独控件并DataContext在更改时手动更改它的选项ListView.SelectedItem。红色面板DataContext是“项目”的特殊包装ListView,具有“保存”和“取消”选项。ListView设置为IsEnabled = False以便SelectedItem在编辑过程中它不会改变。

你会怎么做?

4

3 回答 3

2

最简单的方法是使用对话框来编辑选定项目。这就是我在我的项目中所做的。我使用这个对话服务并处理结果。

如果您想在一个视图中处理所有内容,您可以在设置 SelecteItem 时设置属性 SelectionEnabled=false。然后在调用保存或取消命令时 SelectionEnabled=true。

您的编辑面板的数据上下文就是您的 SelectedItem。

于 2012-07-18T07:42:44.053 回答
2

例如,这个问题与这个问题非常接近: 如何停止绑定属性的更新?

无论如何,将处理此问题的 WPF 对象是 BindingGroup:http:
//msdn.microsoft.com/en-us/library/system.windows.data.bindinggroup.aspx

于 2012-07-18T08:47:19.747 回答
0

您可以尝试将绑定与UpdateSourceTrigger=Explicit. 博客文章Edit With Explicit UpdateSourceTrigger将为您提供有关如何实现此功能的更多信息。

于 2013-07-30T21:04:20.647 回答