基本ページ テンプレートを使用して、複数のページを持つ WinRT アプリに取り組んでいます。各ページには 1366*768 の解像度の背景画像があり、ページから別のページに移動するときに、望ましくない迷惑な点滅効果があります。それを取り除くことができるトリックはありますか?画像のプロパティを調べてみましたが、今のところうまくいきません。これは達成できますか?
どんな助けでも大歓迎です、ありがとう。
基本ページ テンプレートを使用して、複数のページを持つ WinRT アプリに取り組んでいます。各ページには 1366*768 の解像度の背景画像があり、ページから別のページに移動するときに、望ましくない迷惑な点滅効果があります。それを取り除くことができるトリックはありますか?画像のプロパティを調べてみましたが、今のところうまくいきません。これは達成できますか?
どんな助けでも大歓迎です、ありがとう。
メインフレームの背景に画像を設定することでこれを取り除きます。
app.cs ファイルに次のコードを追加します。
protected override void OnLaunched(LaunchActivatedEventArgs args) { Frame rootFrame = Window.Current.Content as Frame; ImageBrush brush = new ImageBrush(); BitmapImage image = new BitmapImage(new Uri("...")); brush.ImageSource = image; rootFrame.Background = brush;
ちらつきを防いでくれます。
ロスの答えはシンプルで、私がやろうと思っていたことに近いものです。ただし、おそらく 2 つの Image コントロールを使用し、それらを交互に使用して画像を設定し、新しい画像がロードされたらディゾルブ トランジション アニメーションを実行します。
WinRT XAML での動作は、ビジュアル ツリーに画像がある新しいページに移動するときだと思います。画像が読み込まれるのを待つために、新しいページを開くのが一瞬遅れる場合がありますが、短時間。ラップトップに読み込まれた画像で新しいページが開いているのを見たので、それが起こると思いますが、Surface ではタイムアウトのようです-最初に画像なしで表示され、後でのみ表示されます。
WinRT XAML Toolkit を試してみたい場合は、他にも役立つメカニズムがいくつかあります。AlternativePage で使用される AlternativeFrame は、ほぼ同じ API を持つ Frame/Page のスワップインですが、Navigate メソッドは非同期であり、次のページが画像をロードするのを待つことができます (ShouldWaitForImagesToLoad="True" を設定)フレームまたはページ上) またはその他のコンテンツを開く前に表示し、ページ遷移をサポートしています。また、Navigate を呼び出す前にメモリ内の次のページをプリロードできる Preload() メソッドも備えているため、ユーザーのアクションがナビゲート呼び出しを呼び出したときに表示される準備ができています (どこに移動するかについて多くのオプションがない場合)。あなたがいる場所からに移動します)。
そこから使用できる別のツールは ImageExtensions.FadeInOnLoaded プロパティで、画像がポップアップするだけでなく、読み込み時にスムーズにフェードインします。