2

我是 WPF 和 Prism 的新手。目前,我正在使用带有 Unity 的 Prism 进行应用程序,该应用程序要求我打开一个新窗口,在该窗口中我有输入数据并提交数据的字段。我创建了一个视图来输入数据。但无法弄清楚如何调用它。

我在 xaml 中有以下内容:

<Button prism:Click.Command="{Binding DataContext.OpenNewWindowCommand}" Grid.Row="2"
ToolTipService.ToolTip="Click to open New Window." Width="75" >

我应该在 xaml 中写什么来完成它,还是我需要在 OpenNewWindow 命令中编写一些代码来打开它?

谢谢

4

1 回答 1

1

首先,您应该注册您的视图:

container.RegisterType<Object, SupplierEditView>(ModuleViewNames.SupplierEditView, new TransientLifetimeManager());

然后在 viewmodel 的命令中,您应该编写如下内容:

  var regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
            var url = ModuleViewNames.SupplierEditView;
            var q = new UriQuery();
            q.Add("Id", SelectedItem.Id.ToString());

            regionManager.RequestNavigate(PrismRegions.Documents, url + q, (e) =>
            {
                if (e.Error != null)
                    MessageBox.Show(e.Error.ToString());

            });

ModuleViewNames.SupplierEditView是您的视图名称字典中的字符串

于 2012-08-27T02:29:18.263 回答