2

Silverlight、Win8、WinPhone7、および WinPhone8 で正常に動作する、1 秒あたり数回更新される複数のスケーリング矢印の繰り返し XAML アニメーションがあります。しかし、現在、Windows 8.1 Preview では、次の予期しない動作が発生しています。

  1. アニメーション化された矢印の初期表示は、すべてのスケーリングされたサイズの 1 サイクルで正しく表示されます。
  2. アニメーションの 2 回目以降の繰り返しでは、矢印は正しいサイズにスケーリングされますが、すべて明らかに低解像度のキャッシュされた矢印のビットマップの拡大バージョンです。これは恐ろしく見えます。
  3. アプリを切り替えて自分のアプリに戻ると、最初の表示は正しく、その後、悪い低解像度バージョンに戻ります (つまり、動作 1 と 2 が繰り返されます)。

これは、Win8.1 Preview での UIElement キャッシュ動作の変更によるものだと思いますが、この領域の変更に関するドキュメントは見つかりません。

UiElement.CacheMode は修正の可能性が高いと思われますが、この動作が仕様によるものなのか、最終リリースでコードの変更が必要になるのかを知りたいです。

4

1 に答える 1

0

私自身の質問に答える: Windows 8.1 Preview XAML のバグ/機能の回避策は、問題のある UIElement に関連付けられているTransformGroupに次を追加することです。

rotateGroup.CacheMode = null;

なぜこの変更が必要だったのか、まったくわかりません。上記のハックが追加される前の問題について、さらに 1 つ説明します。

矢印のサイズ変更が少しずつ変化すると、バグが発生します。大きなジャンプで倍率が変化すると、バグはなくなり、矢印が正しく表示されます。

于 2013-08-03T22:33:07.603 に答える