WP 7.5アプリ。私は2つのストーリーボードアニメーションを持っています - イメージとテキストの2つです。あいまいで不明瞭なものを使う...私はこれを正しくやっていますか?
問題1:次のページに移動して戻ると、画像とテキストが点滅します。
解決法1:だから私はOnNavigateFromを追加し、明示的なアニメーションを停止しても0
にアニメーションに関わるすべてのプロパティをリセットIssue2:は今画面は、いつ私はそれをアンロックモードをロックするために行くと言いますOnNavigatedFromで要素の1つの不透明度を0に設定しているため、ユーザーは次のページに移動するまで非表示になっています。
対処方法2:私は、コード内で以下のように隠れていると隠蔽されていないハンドラを取り扱い、アプリが不明瞭なモードに起こっている場合は、アニメーションを停止したり、プロパティをリセットしません参照するためのフラグを追加しました。
public class Page2 :PhoneApplicationPage
{
private bool _isObscured = false;
public Page2()
{
(Application.Current as App).RootFrame.Obscured += OnObscured;
(Application.Current as App).RootFrame.Unobscured += OnUnobscured;
InitializeComponent();
}
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
//Stop animations and reset properties only if not going to obscure mode.
if (!_isObscured)
{
//stop animaiton
Storyboard1.Stop();
Storyboard2.Stop();
//Reset all transform properties to 0
Text1.Opacity = 0;
Image1.RenderTransform.SetValue(CompositeTransform.ScaleXProperty, 0.0);
Image1.RenderTransform.SetValue(CompositeTransform.ScaleYProperty, 0.0);
}
base.OnNavigatedFrom(e);
}
void OnObscured(object sender, ObscuredEventArgs e)
{
Storyboard1.Pause();
Storyboard2.Pause();
_isObscured = true;
}
void OnUnobscured(object sender, EventArgs e)
{
Storyboard1.Resume();
Storyboard2.Resume();
_isObscured = true;
}
}
質問:これはどこへ行くcorret方法ですか良い方法はありますか?このようにするための認証問題がありますか?
本当にありがとうございました。
正確にわからないのですか?スクリーンロック、すなわち不明瞭な場合、どのように役立ちますか? – oms
この場合、画面がロックされると、OnNavigatedFromメソッドの不透明度の変更はもうありません。だから、あなたが戻ってくるとき、すべての要素がまだ見える。そして、あなたのSolution1はIssue2を生み出しません、私は – Ku6opr
と思います。私はそれをテストしなければならないでしょう。また、私のNavigationService.NavigateTo()は、私の画像のMouseLeftButtonDown経由のナビゲーションを処理するcustomControlの内部にあります。私は試して更新します。ありがとう。 – oms