全景SelectionChanged并不总是被解雇

时间:2014-06-06 04:28:22

标签: c# windows-phone-8

我有三个项目的panorma控件。 我想在其中一个项目上显示应用程序栏,并在其他项目上隐藏应用程序栏。 现在问题是:我想要显示应用程序栏SelectionChanged的一个项目未被调用。

这是我的功能:

private void panormaItemChanged(object sender, SelectionChangedEventArgs e)
        {

            if (((Panorama)sender).SelectedIndex == 0)
            {
                ApplicationBar.IsVisible = true;
            }
            else {
                ApplicationBar.IsVisible = false;
            }
        }

2 个答案:

答案 0 :(得分:0)

我认为您参加了panormaItemChanged而不是PanormaSelectionChanged。它会起作用。

XAML:

<phone:Panorama Title="my application" SelectionChanged="Panorama_SelectionChanged">

CS:

private void Panorama_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    switch (((Panorama)sender).SelectedIndex)
    {

        case 0: // defines the first PanoramaItem
            ApplicationBar.IsVisible = true;
            break;

        case 1: // second one
            ApplicationBar.IsVisible = false;
            break;

        case 2: // third one
            ApplicationBar.IsVisible = true;
            break;
    }
}

答案 1 :(得分:0)

我得到了答案:

我把我的PanoramaItem放在scrollview中,这就是为什么它没有调用SelectionChanged监听器!!