1

I need to handle the event when the application bar is minimized or not, but my code apparently doesn't work.I add the StateChanged event but it doesn't work.

  <phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar x:Name="option_bar" Mode="Minimized" Opacity="0.9"  StateChanged="ApplicationBar_StateChanged">
        <shell:ApplicationBarIconButton IconUri="/Images/coupons.png" Text="Kupony"  />
        <shell:ApplicationBarIconButton IconUri="/Images/basket.png" Text="Koszyk" Click="GoToBasket_Click" ></shell:ApplicationBarIconButton>
        <shell:ApplicationBarIconButton IconUri="/Images/myaccount.png" Text="Moje Konto" Click="Update_Click" />
        <shell:ApplicationBarIconButton IconUri="/Images/road.png" Text="Wyloguj siÄ™" Click="logout_Click" />
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

this is my code in c# which should be invoked when the state of application bar is change d by user:

private void ApplicationBar_StateChanged(object sender, ApplicationBarStateChangedEventArgs e)
        {
            if (option_bar.Mode == ApplicationBarMode.Minimized) 
            {
                MessageBox.Show("fjfsdfds");
            }
            if (e.IsMenuVisible  == true)
            {
                MessageBox.Show("second");
            }
            if (option_bar.IsVisible)
            {
                MessageBox.Show("third");
            }
        }

I think, that even the ApplicationBar_StateChanged isn't invoked.

MyWay
  • 1,011
  • 2
  • 14
  • 35

1 Answers1

0

The ApplicationBar.StateChanged is invoked only when you have MenuItems in ApplicationBar. Try to add a MenuItem and check if the event was invoked.

Similar problem was answered here at MSDN forum.

Romasz
  • 29,662
  • 13
  • 79
  • 154