小さな(しかし厄介な)問題があります。次の手順を実行すると、すぐに複製できます。
新しいプロジェクト > Windows ストア > 空のアプリ (XAML)
グリッドにボタンを追加します。これはデフォルトのスタイルでも機能します。(注: TextButtonStyle は SimpleStyles.xaml で定義されています)
<Button Click="Click" Style="{StaticResource TextButtonStyle}" Content="Page 2"/>
関数をコード ビハインド ファイルに追加します。
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof (Page2));
}
次に別のページを作成し、ボタンを追加して、Click イベントで MainPage に戻ります。
両方のページに次のセットを追加しNavigationCacheMode="Enabled"
ます。便宜上、ボタンの 1 つを左揃えに、もう 1 つを右揃えに設定します。
アプリを実行します。ボタンの上にマウスを移動します。これを反映して状態が変化します。ボタンをクリックします。また色が変わります。2 ページ目で、同じ操作を行います。最初のページに戻ると、ボタンで PointerExited イベントが呼び出されなかったため、ボタンはまだ「PointerOver」の視覚状態にあります。
どうすればこれを修正できますか? VisualStateMananger.GoToState() が機能しません。