弹出窗口与确定和取消按钮

时间:2016-01-16 22:55:53

标签: c# wpf mvvm

我在这里创建了一个包含人员列表的简单对话框。我想做的只是一些简单的事情,在winforms中相当微不足道。但是,我正在努力通过mvvm方法掌握如何在wpf中执行此操作。请有人帮帮我。

enter image description here

  1. 当用户点击Add New Person按钮时,我想要一个对话框出现在用户可以输入其名称的位置,然后点击OK或Cancel。如果用户点击“确定”,则会将此人追加到列表中。 (请记住,我会为用户输入更多的编辑字段,例如姓氏......)

  2. 当用户在列表中选择了单个项目时,我希望他们能够让用户点击“编辑”按钮。按钮显示类似于上一步骤中的对话框,预填充所选项目数据,因此用户可以编辑属性。然后,根据它们是否单击“确定”或“取消”,将提交更改。

  3. Dropbox解决方案:https://www.dropbox.com/s/8sjpabfod08yil5/AddDeleteItems_basic.zip?dl=

3 个答案:

答案 0 :(得分:2)

要使用MVVM创建和显示对话框,您需要实现对话服务模式来处理此类请求。此服务将在您的视图模型中调用。

关于这个主题(Showing Dialogs When Using The MVVM Pattern)有一篇非常丰富的代码项目文章。我的建议是阅读该文章,然后查看文章随附的源文件。这应该为您提供一个非常好的开始指向实现您的用例(自定义对话框),也可以用于显示标准对话框(例如打开文件,保存文件,浏览文件夹等)。

答案 1 :(得分:1)

服务模式并不是实现这一目标的唯一方法,在下面的文章中我将展示如何使用与常规窗口相同的数据驱动机制来实现它:

http://www.codeproject.com/Articles/820324/Implementing-Dialog-Boxes-in-MVVM

答案 2 :(得分:0)

我建议您tutorial开始使用。但是,对于Xceed library对话框,有一些很酷的自定义控件可能会对您有所帮助。