2017-10-16 5 views
0

저는 초급 UWP 응용 프로그램이 있습니다. 멋진 전환 효과가있는 팝업을 표시해야하지만 제대로 작동하지 않는 것 같습니까?!? 내가 뭐 잘못하고 있니? 뒤에있는 코드에서 팝업을 엽니 다. popup1.IsOpen = trueuwp 기본 전환이 작동하지 않습니다.

추신 : 다른 컨트롤을 사용하도록 제안하지 마십시오.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 

     <Popup x:Name="popup1"> 
      <Popup.Transitions> 
       <TransitionCollection> 
        <PopupThemeTransition FromHorizontalOffset="100"/> 
       </TransitionCollection> 
      </Popup.Transitions> 

      <Border x:Name="brd1" Background="Blue" > 
       <Button x:Name="btnClose" Background="White" Click="btnClose_Click" Margin="100">test</Button> 
      </Border> 
     </Popup> 

     <Button x:Name="btnOpen" Click="btnOpen_Click">go</Button> 

    </Grid> 
+0

당신이 팝업을 사용하는 방법에 대한 확신

나는 nativestoryboard 애니메이션을 가지고 몇 가지 예제 코드를 만들었습니다? 버튼 위로 오는 팝업을 표시하려면 플라이 아웃을 찾고 있습니다. –

답변

0

여기에는 몇 가지 방법이 있습니다. interactivitybehaviors으로 이벤트를 대체 할 수 있지만 샘플 코드에서 이벤트를 사용하지 않았으므로이를 공유하지 않겠습니다. 그래서 저는 여러분의 애니메이션이 작동하도록 코드 샘플을 작성했습니다.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.Resources> 
     <Storyboard x:Name="ShowPopup"> 
      <PopInThemeAnimation Storyboard.TargetName="MyPopup" /> 
     </Storyboard> 
     <Storyboard x:Name="HidePopup"> 
      <PopOutThemeAnimation Storyboard.TargetName="MyPopup" /> 
     </Storyboard> 
    </Grid.Resources> 
    <Popup x:Name="MyPopup" IsOpen="True" 
     HorizontalAlignment="Center" VerticalAlignment="Center"> 
     <Popup.Transitions> 
      <TransitionCollection> 
       <PopupThemeTransition /> 
      </TransitionCollection> 
     </Popup.Transitions> 
     <Grid Height="200" Width="200" Background="Red"> 
      <StackPanel> 
       <Button Content="Hide (Native)" HorizontalAlignment="Center" Click="hide_native_click"/> 

       <Button Content="Hide (Storyboard)" HorizontalAlignment="Center" Click="hide_storyboard_click"/> 
      </StackPanel> 
     </Grid> 
    </Popup> 
    <StackPanel> 
     <Button Content="Show Popup (Native)" HorizontalAlignment="Left" VerticalAlignment="Top" Click="show_native_click"/> 

     <Button Content="Show Popup (Storyboard)" HorizontalAlignment="Left" VerticalAlignment="Top" Click="show_storyboard_click"/> 
    </StackPanel> 
</Grid> 

하고 코드 뒤에 다음과 같습니다 :

private void hide_native_click(object sender, RoutedEventArgs e) 
{ 
    MyPopup.IsOpen = false; 
} 

private void hide_storyboard_click(object sender, RoutedEventArgs e) 
{ 
    HidePopup.Begin(); 
} 

private void show_native_click(object sender, RoutedEventArgs e) 
{ 
    MyPopup.IsOpen = true; 
} 

private void show_storyboard_click(object sender, RoutedEventArgs e) 
{ 
    ShowPopup.Begin(); 
}