2017-03-07 2 views
0

私はWPFアプリケーションでPrism 6を使用しています。
Microsoft's StockTrader example code からRegionPopupBehaviorを使用していますが、このポップアップが表示されているときはいつでも、パラメータをビューに渡す方法がないようです。 - INavigationAware.OnNavigatedToは呼び出されません。 - ビューの領域パラメータを取得する方法がありません。ビューには、それが入っているIRegionの名前が分かっています(私が知る限り)。Prismポップアップウィンドウにパラメータを渡す正しい方法

コマンドが新しいビューにパラメータを提供する正しい方法は何ですか?

編集: コード内のコマンドからポップアップウィンドウを表示したいと考えています。 コードには実際のビュークラスのスコープが含まれていない可能性があります。

+0

これを実装する方法の詳細を追加できますか?どのようにパラメータを渡したいのか、コマンドを使うのか、リージョンポップアップの振る舞いがうまくいくのだろうと思ったのはなぜですか? –

答えて

2

Prism 6を使用したい場合は、実際には4歳ではないサンプルを参照する必要があり、最新のビットでうまく機能しない可能性があります。

最近の例はhereです。

具体的には、インタラクティブ機能の例を、ページの下部に向かって調べることをおすすめします。これは、確認、通知、および他のやり取り(エンドユーザからの入力を得るため)のためにポップアップを管理するために今使用しているものです。 Interactivity - Custom Requestの例は正確に必要なものかもしれません。あなたはその情報を使って相互作用から情報​​を得ることができます。

これらは、エンドユーザーの小さな編集のやりとりを示すために時々使用します。私はそれらを編集したいオブジェクトを渡し、変更されたオブジェクトをOKをクリックして取得し、アクション(更新/保存)を行います。

私はこれがあなたを助けてくれることを願っています。

+0

これらのリンクをありがとうございます。私はそれが私のユースケースを解決する方法を見ていない、私はより完全に私の質問を記入します。本質的に、ポップアップはコードで表示することができ、xamlではなく名前で表示する必要があります。 – Landerah

0

クラス通知は、コンテンツのオブジェクトタイプです。ポップアップウィンドウに任意のタイプパラメータを渡すことができます。例えば、MainViewModelで:ポップアップウィンドウで

using Prism.Interactivity.InteractionRequest; 
using Prism.Commands; 
public InteractionRequest<IConfirmation> ConfirmInPopup { get; private set; } 
//code 
ConfirmInPopup.Raise(new Confirmation() { 
         Title = "Confirm", 
         Content = new MedInModel 
         { 
          MedOnlyCode = med.MedOnlyCode, 
          MedName = med.MedName, 
          MedNowAmt=10, 
          BoxId=med.BoxId 
         } 
        },t => 
          if (t.Confirmed) 
          { 

          } 
         ); 

、あなたは通知からこれを取得することができ、

using Prism.Interactivity.InteractionRequest; 
public class ConfirmMedInViewModel : IInteractionRequestAware 
{ 
     public INotification Notification 
     { 
      get 
      { 
       return _confirmation; 
      } 
      set 
      { 
       SetProperty(ref _confirmation, (IConfirmation)value); 
      } 
     } 
     public Action FinishInteraction { get; set; 
} 

は今通知プロパティからパラメータを取得します。

関連する問題