2010-07-26 1 views
2

mvvm 패턴의 wpf 응용 프로그램이 있습니다. 기본보기에는 다른보기에 대한 링크가 거의 없습니다. 하지만 기본보기에 내용 (즉, 링크)을 표시하기 전에 기본보기에 이미지를 표시해야합니다 .... 즉, 환영 이미지가 처음 사용자에게 표시됩니다. 2 초 동안 말하고 실제 내용을 표시하십시오.wpf 앱 시작시 이미지를 표시하는 방법은 무엇입니까?

아무도 나를 도와 줄 수 있습니까?

답변

1

가장 쉬운 해결책은 이미지를 프로젝트에 추가하고 속성 창에서 빌드 조치를 SplashScreen으로 설정하는 것입니다. 이렇게하면 응용 프로그램이로드되는 동안 이미지가 표시됩니다.

자세한 내용 : How to: Add a Splash Screen to a WPF Application (MSDN).

장점 :

  • 그것은 쉽게 제로 코딩이 필요합니다.
  • 시작 프로세스의 초기 단계, 즉 WPF DLL이 아직로드되는 동안 표시됩니다.

단점 :

  • 당신은 시작 화면이 표시되는 시간을 제어 할 수 없습니다. 그렇게해야한다면 SplashScreen Class을 직접 사용할 수 있습니다.
+0

예 이제 이미지가 표시되고 있지만 ... 이미지가 창과 같이 표시되는 것은 아닙니다 ... 내 말은 ... 이미지가 먼저 나타나는 것처럼 보입니다. 그런 다음 ... 내 창 들어온다.하지만 창문 안에 이미지를 표시해야한다. – Relativity

0

, 내가 두 번째 대답을 추가 할 수 있습니다 : 당신의 WPF 창에서 무언가를 같은 :

<Window ...> 
    <Window.Triggers> 
     <EventTrigger RoutedEvent="Window.Loaded"> 
      <BeginStoryboard> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="mySplash" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:2" Value="{x:Static Visibility.Hidden}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="myContent" Storyboard.TargetProperty="Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Hidden}" /> 
         <DiscreteObjectKeyFrame KeyTime="0:0:2" Value="{x:Static Visibility.Visible}" /> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Window.Triggers> 
    <Grid> 
     <Image x:Name="mySplash" ... /> 
     <Grid x:Name="myContent"> 
      ... 
     </Grid> 
    </Grid> 
</Window> 

이는, 당신의 Image이 초를 보여 그것을 숨길하고 myContent 그리드의 내용을 표시합니다. 스플래시 이미지에서 컨텐트로 멋진 페이드를 만들고 싶다면 Visibility 속성 대신 속성 (DoubleAnimation 사용)을 애니메이션으로 만들 수 있습니다.