1

基本ページ テンプレートを使用して、複数のページを持つ WinRT アプリに取り組んでいます。各ページには 1366*768 の解像度の背景画像があり、ページから別のページに移動するときに、望ましくない迷惑な点滅効果があります。それを取り除くことができるトリックはありますか?画像のプロパティを調べてみましたが、今のところうまくいきません。これは達成できますか?

どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

3

メインフレームの背景に画像を設定することでこれを取り除きます。

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;

ちらつきを防いでくれます。

于 2012-12-21T12:40:35.170 に答える
1

ロスの答えはシンプルで、私がやろうと思っていたことに近いものです。ただし、おそらく 2 つの Image コントロールを使用し、それらを交互に使用して画像を設定し、新しい画像がロードされたらディゾルブ トランジション アニメーションを実行します。

WinRT XAML での動作は、ビジュアル ツリーに画像がある新しいページに移動するときだと思います。画像が読み込まれるのを待つために、新しいページを開くのが一瞬遅れる場合がありますが、短時間。ラップトップに読み込まれた画像で新しいページが開いているのを見たので、それが起こると思いますが、Surface ではタイムアウトのようです-最初に画像なしで表示され、後でのみ表示されます。

WinRT XAML Toolkit を試してみたい場合は、他にも役立つメカニズムがいくつかあります。AlternativePage で使用される AlternativeFrame は、ほぼ同じ API を持つ Frame/Page のスワップインですが、Navigate メソッドは非同期であり、次のページが画像をロードするのを待つことができます (ShouldWaitForImagesToLoad="True" を設定)フレームまたはページ上) またはその他のコンテンツを開く前に表示し、ページ遷移をサポートしています。また、Navigate を呼び出す前にメモリ内の次のページをプリロードできる Preload() メソッドも備えているため、ユーザーのアクションがナビゲート呼び出しを呼び出したときに表示される準備ができています (どこに移動するかについて多くのオプションがない場合)。あなたがいる場所からに移動します)。

そこから使用できる別のツールは ImageExtensions.FadeInOnLoaded プロパティで、画像がポップアップするだけでなく、読み込み時にスムーズにフェードインします。

于 2012-12-21T17:16:52.450 に答える