我对WPF& MVVM世界,并且花了最后几天尽可能多地下载教程,并尽可能多地阅读!
然而,我正在努力用MVVM实现一个非常基本和共同的概念,我迫切希望得到一些帮助 - 甚至可能是一个例子:-)
我已经掌握了M-V-VM的基础知识,指挥甚至是喋喋不休;但是如何在earch上打开一个新窗口并将窗口ViewModel设置为列表框的选定项目?
让我解释一下: 我有一个名为Client的Model,它有一些属性 然后我有一个ViewModel,它获取我的所有客户端并将它们存储在ObservableCollection中 我有一个屏幕,我显示名称&列表框中的姓氏,允许用户过滤和搜索。
以上所有工作都很完美。
当用户选择某个项目时,我想打开该特定客户端的可编辑“详细客户端视图”屏幕。这个详细屏幕的ViewModel需要以某种方式绑定到所选项目(如果这是有意义的);或者我需要能够将参数传递给新打开的屏幕的ViewModel。事实上,如果用户可以同时打开多个细节屏幕并编辑多个clints,那就太棒了!
如果有人能给我一个很好的例子,或者指出我正确的方向,我会真的很棒!
非常感谢, 布伦丹
答案 0 :(得分:2)
我会向ListBox.SelectionChanged添加一个事件,它执行以下操作:
答案 1 :(得分:2)
简单地说:
//Create the Client Detail form
frmClientDetails frm = new frmClientDetails();
frm.Owner = this;
var ViewModel = new ClientDetailViewModel((Client)lstFoundClients.Items.CurrentItem);
frm.DataContext = ViewModel;
frm.Show();