2012-07-18 33 views
1

我基本上要像这样创造的东西:wpf:如何编辑可能取消选定的项目?

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

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

如何做到这一点?我只能看到使红色面板成为单独控制的选项,并且在ListView.SelectedItem更改上手动更改DataContext。红色面板的DataContextListView的具有“保存”和“取消”选项的特殊包装。 ListView设置为IsEnabled = False,因此在编辑过程中其SelectedItem不会更改。

你会如何做到这一点?

+0

我首先想到的是使用Grid并通过每行中的一些编辑链接直接编辑它内部......类似的东西。任何特定的需要使用ListView? – Adil 2012-07-18 07:20:22

回答

2

最简单的方法是使用对话框编辑selecteditem。那是我在我的项目中做的。我使用this dialogservice并处理结果。

如果您想要在一个视图中处理所有视图,则可以在设置了SelecteItem时设置属性SelectionEnabled = false。然后在调用save或cancel命令时SelectionEnabled = true。

您的编辑面板的datacontext只是您的SelectedItem。

0

你可以尝试使用绑定与UpdateSourceTrigger=Explicit 。博客文章Edit With Explicit UpdateSourceTrigger将为您提供有关如何实施的更多信息。

+0

添加链接只有链接到你自己的博客的答案在SO上没有很好地被看到。请扩大您的答案。 – 2013-07-30 21:36:45