简体   繁体   中英

How properly handle change mode of application bar in windows phone 7

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.

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM