2012-08-25 56 views
2

我是WPF和Prism的新手。目前我正在做一個使用Prism和Unity的應用程序,這需要我打開一個新窗口,在這個窗口中我可以輸入數據並提交。我創建了一個視圖來輸入數據。但無法弄清楚如何調用它。如何用Prism和Unity在XAML中打開一個新窗口?

我在XAML如下:

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

我應該在XAML寫爲了實現這個目標還是我需要寫在OpenNewWindow命令一些代碼來打開它?

謝謝

回答

1

首先,要註冊自己的看法:

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

然後在視圖模型的命令,你應該寫這樣的事情:

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是你的意見名字字典中的字符串

+0

這是不是隻顯示v在已經打開的窗口中查看? –

+0

@GlenThomas,這取決於地區的類型。在我的情況下它是一個自寫區域適配器,它打開一個新選項卡int TabControl –