2017-03-07 2 views
0

WPF 응용 프로그램에서 프리즘 6을 사용하고 있습니다.
Microsoft's StockTrader example code 에서 RegionPopupBehavior을 사용하고 있습니다. 그러나이 팝업이 표시 될 때마다보기에 매개 변수를 전달할 방법이없는 것 같습니다. - INavigationAware.OnNavigatedTo이 호출되지 않습니다. - 내가 알고있는 한 IRegion의 이름을 구체적으로 알지 못한 채로 뷰의 영역 매개 변수를 가져 오는 방법이 없습니다.프리즘 팝업 창에 매개 변수를 전달하는 올바른 방법

명령이 새보기에 매개 변수를 제공하는 올바른 방법은 무엇입니까?

편집 : 코드의 명령에서 팝업 창을 표시하고 싶습니다. 코드에는 실제 뷰 클래스에 대한 범위가 없으며 이름 만 있습니다.

+0

구현 방법에 대한 자세한 정보를 추가 할 수 있습니까? 매개 변수를 전달하고 명령을 사용하며 지역 팝업 동작이 왜 효과가 있을지 생각한 이유는 무엇입니까? –

답변

2

프리즘 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; 
} 

지금 알림 속성에서 매개 변수를 가져, 알림에서이를 얻을 수 있습니다.