我有一個mvvm模式的wpf應用程序。在主要觀點中,我沒有其他觀點的鏈接。 但在顯示主視圖中的內容(即...鏈接)之前,我需要在主視圖中顯示圖像....這意味着...歡迎圖像將首先顯示給用戶...說2秒...然後顯示實際內容。如何在wpf應用程序啓動時顯示圖像?
有人能幫我嗎?
我有一個mvvm模式的wpf應用程序。在主要觀點中,我沒有其他觀點的鏈接。 但在顯示主視圖中的內容(即...鏈接)之前,我需要在主視圖中顯示圖像....這意味着...歡迎圖像將首先顯示給用戶...說2秒...然後顯示實際內容。如何在wpf應用程序啓動時顯示圖像?
有人能幫我嗎?
最簡單的解決方案是將圖像添加到項目中,並在屬性窗口中將其構建操作設置爲SplashScreen
。這會導致圖像在應用程序加載時顯示。
更多詳情:How to: Add a Splash Screen to a WPF Application (MSDN)。
優點:
缺點:
既然你說你要顯示在一個窗口,而不是一個「經典」閃屏圖像,讓我添加第二個答案:在您的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
網格的內容。如果希望從閃屏圖像到內容有一個很好的淡入淡出效果,您可以動畫Opacity
屬性(使用DoubleAnimation
)而不是Visibility
屬性。
是的,現在圖像正在顯示......但是它顯示爲一個圖像而不是一個窗口......我的意思是......它看起來像第一個圖像來..然後......我的窗口進來...但我需要在我的窗口內顯示圖像 – Relativity 2010-07-26 08:31:41