C# 如何正确处理WindowsPhone7中应用程序栏的更改模式
无论应用程序栏是否最小化,我都需要处理该事件,但我的代码显然不起作用。我添加了StateChanged事件,但它不起作用C# 如何正确处理WindowsPhone7中应用程序栏的更改模式,c#,windows-phone-7,event-handling,application-bar,C#,Windows Phone 7,Event Handling,Application Bar,无论应用程序栏是否最小化,我都需要处理该事件,但我的代码显然不起作用。我添加了StateChanged事件,但它不起作用 <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar x:Name="option_bar" Mode="Minimized" Opacity="0.9" StateChanged="ApplicationBar_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>
我认为,即使是ApplicationBar_StateChanged也不会被调用 只有在ApplicationBar中有菜单项时才会调用。尝试添加MenuItem并检查是否调用了该事件
类似的问题也存在
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");
}
}