title: Windows 8 - cache paged button visual state not changing on navigate back
body: <p>I have a small (but annoying) problem.
  You can quickly replicate it by doing the following:</p>
  
  <p>New Project > Windows Store > Blank App (XAML)</p>
  
  <p>Add a button to the grid. This also works with the default style. (note: TextButtonStyle is defined in SimpleStyles.xaml)</p>
  
  <pre><code>&lt;Button Click="Click" Style="{StaticResource TextButtonStyle}" Content="Page 2"/&gt;
  </code></pre>
  
  <p>Add the function to the code behind file:</p>
  
  <pre><code>private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
  {
    Frame.Navigate(typeof (Page2));            
  }
  </code></pre>
  
  <p>Next create another page, add the button, and navigate back to the MainPage in the Click event.</p>
  
  <p>Next set on both pages add <code>NavigationCacheMode="Enabled"</code>. For convenience set one of the buttons to be Left aligned and the other one Right.</p>
  
  <p>Run the app. Move the mouse over the button. The state changes to reflect this. Click the button. Again the color changes. On the second page, do the same. On returning to the first page, the button is still in it's "PointerOver" visual state, since there was no PointerExited event called on the button.</p>
  
  <p>How can I fix this? VisualStateMananger.GoToState() doesn't work.</p>