mvvm パターンの wpf アプリケーションがあります。メイン ビューには、他のビューへのリンクがほとんどありません。しかし、コンテンツ(つまり...リンク)をメインビューに表示する前に、メインビューに画像を表示する必要があります....つまり...ウェルカム画像が最初にユーザーに表示されます...言う2秒間...そして実際の内容を表示します。
誰でも私を助けてくれますか?
最も簡単な解決策は、プロジェクトにイメージを追加SplashScreen
し、プロパティ ウィンドウでビルド アクションを設定することです。これにより、アプリケーションの読み込み中に画像が表示されます。
詳細:方法: スプラッシュ スクリーンを WPF アプリケーションに追加する (MSDN)。
利点:
短所:
「クラシック」スプラッシュ画面ではなくウィンドウに画像を表示したいというので、2 番目の回答を追加させてください。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
が 2 秒間表示された後、非表示になり、myContent
グリッドの内容が表示されます。スプラッシュ画像からコンテンツへの素敵なフェードが必要な場合は、プロパティの代わりにOpacity
( を使用して) プロパティをアニメーション化できます。DoubleAnimation
Visibility