wpf - 在 WPF 中的 MVVM 中的 Viewmodel 之间传递值

标签 wpf silverlight mvvm mvvm-light

我正在使用 MVVM 轻型工具包开发 WPF 应用程序。我的主窗口中有一个数据网格。我创建了另一个名为“openfile”的窗口,它们的 View 模型。主窗口 View 模型类包含绑定(bind)到数据网格的 ObservableCollection MyList 类型的公共(public)属性。我可以从 openfile Viewmodel 填充这个属性并自动绑定(bind)到 Datagrid 吗?或者我可以将变量传递给 MainViewmodel 并从 OpenfileViewmodel 调用 MainViewmodel 中的公共(public)函数吗?

这就是我从菜单栏调用 MyPage 的方式。

 private void NotificationMessageReceived(NotificationMessage msg)
        {
            switch (msg.Notification)
            {
                case Messages.MainVM_Notofication_ShowNewbWindow:
                    new NewView().ShowDialog();
                    break;
                case Messages.MainVM_Notofication_ShowExistingWindow:
                    new OpenExisitingView().ShowDialog();
                    break;

                case Messages.MainVM_Notofication_ShowotherWindow:
                    newView().ShowDialog();
                    break;
            }
        }

提前致谢。
罗希尔 K

最佳答案

经过一番研究,我通过以下代码获得了我的 Mainviewmodel 的当前实例。

MainViewModel mainViewModelInstaince = ServiceLocator.Current.GetInstance<MainViewModel>();

然后我得到了所有的方法和属性......并从另一个 View 模型绑定(bind)了数据。

谢谢大家..

关于wpf - 在 WPF 中的 MVVM 中的 Viewmodel 之间传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933800/

相关文章:

wpf - 等到控件布局完成

WPF 同一系列的多个字体文件

wpf - 使用 MVVM 模式时如何绑定(bind)到应用程序设置并能够编写单元测试?

.net - 找不到文件或程序集System.ServiceModel.DomainServices.Client.Web

silverlight - 使用调试运行项目需要很长时间才能加载

c# - 使用命令在加载页面 (Xamarin.Forms) 时填充 ListView

wpf - ObservableCollection 上的 IDataErrorInfo

.net - 在 Silverlight 中使用 HttpResponse 上传数据

model-view-controller - 是否可以将演示模型模式用于具有EMF域模型的基于GEF的RCP应用程序?

wpf - ListBox ItemTemplate HitTest