2017-01-23 3 views
0

사용자에게 일부 콘텐츠를 표시하기 위해 맞춤 팝업 창이 사용됩니다.왜 프리즘의 팝업 창 동작 창이 부모 창으로 확장되지 않는 이유는 무엇입니까?

<i:Interaction.Triggers> 
    <mvvm:InteractionRequestTrigger SourceObject="{Binding NotificationRequest}"> 
     <mvvm:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True"> 
      <mvvm:PopupWindowAction.WindowContent> 
       <views:DataFeedManagerView/> 
      </mvvm:PopupWindowAction.WindowContent> 
     </mvvm:PopupWindowAction> 
    </mvvm:InteractionRequestTrigger> 
</i:Interaction.Triggers> 

사용자가 팝업 창의 크기를 조정하려고 할 때까지 모든 것이 잘 작동합니다. 콘텐츠는 부모 창 중앙에 배치됩니다.

Popup Window Screenshot

내 잘못이 무엇인지 이해하고, 내가 프리즘의 상호 작용 샘플을 탐구하려고 내가 같은 문제도있다 참조하십시오. 이 문제를 어떻게 해결할 수 있습니까?

답변

2

:

<prism:PopupWindowAction> 
    <prism:PopupWindowAction.WindowContent> 
     <views:CustomPopupView Width="NaN" /> 
    </prism:PopupWindowAction.WindowContent> 
</prism:PopupWindowAction> 

당신은 당신의 DataFeedManagerView에 대해 동일한 할 수 있어야 그래서 당신의 대답은 불완전합니다. 나는 당신의 대답을보고 나서 이해합니다.

왜 내 대답이 해결되지 않습니까? 내 DataFeedManagerView는 너비 = "960"및 높이 = "540"고정 길이가 있어야합니다. 선택 항목이 변경되면 왼쪽에는 항목 컨트롤이 있으며, 가운데에는 콘텐츠 컨트롤이 있고 해당 콘텐츠는 동적으로 변경됩니다 (물론 콘텐츠 크기도 변경됨).

지연된 세부 사항 & 솔루션입니다. 내 ShellView에서 내 질문에 처음 xaml, 내 팝업 창 너비 = "960"및 높이 = "540"고정 길이 DataFeedManagerView입니다. 그래서 팝업 창의 크기를 조정하면 내 사용자 정의 컨트롤에 집중됩니다. 그래서 곧 DataFeedManagerView에서 너비가 & xaml 부분 만 삭제하면, 원하는대로 팝업 창 콘텐츠가 늘어납니다. 하지만 삭제 후 팝업 창이 화면에 나타나면 크기가 너무 커지고 다시 크기를 고정 값으로 설정하려고합니다. 이 문제를 해결하기 위해 팝업 창에 스타일을 지정하겠습니다. 그래서 내 문제의 해결책은 DataFeedManagerView에서 고정 폭 & 높이 속성을 삭제하고 ShellView xaml을 아래와 같이 변경합니다.

<i:Interaction.Triggers> 
    <mvvm:InteractionRequestTrigger SourceObject="{Binding NotificationRequest}"> 
     <mvvm:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True"> 
      <mvvm:PopupWindowAction.WindowStyle> 
       <Style TargetType="Window"> 
        <Setter Property="Width" Value="960"/> 
        <Setter Property="Height" Value="540"/> 
       </Style> 
      </mvvm:PopupWindowAction.WindowStyle> 
      <mvvm:PopupWindowAction.WindowContent> 
       <views:DataFeedManagerView/> 
      </mvvm:PopupWindowAction.WindowContent> 
     </mvvm:PopupWindowAction> 
    </mvvm:InteractionRequestTrigger> 
</i:Interaction.Triggers> 

나는 내 질문에 & 대답은 다른 사람에게 도움이 될 것입니다 바랍니다. 감사.

1

이 문제는 어떻게 해결할 수 있습니까?

공식 프리즘 샘플에서는 CustomPopupView UserControl의 명시 적 폭을 제거하는 것입니다. 당신은 double.NaN에 폭을 설정하여이 작업을 수행 할 수 있습니다 : 내 질문이 불완전하기 때문에 나는 당신 (MM8)에게 사과 할

<mvvm:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True"> 
    <mvvm:PopupWindowAction.WindowContent> 
     <views:DataFeedManagerView Height="NaN" Width="NaN" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> 
    </mvvm:PopupWindowAction.WindowContent> 
</mvvm:PopupWindowAction>