我需要在应用程序栏最小化时处理事件,但我的代码显然不起作用。我添加StateChanged事件但它不起作用。
<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>
这是我在c#中的代码,当应用程序栏的状态由用户更改时应调用该代码:
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");
}
}
我认为,即使是ApplicationBar_StateChanged也不会被调用。
答案 0 :(得分:0)
只有在ApplicationBar中有MenuItem时才会调用ApplicationBar.StateChanged。尝试添加MenuItem并检查是否调用了该事件。
类似的问题是answered here at MSDN forum。