C# 在枢轴控件中使用多个应用程序栏

C# 在枢轴控件中使用多个应用程序栏,c#,wpf,silverlight,xaml,C#,Wpf,Silverlight,Xaml,我正在尝试创建一个Pivot控件,并且为了创建Pivot控件的每个项,我想关联一个不同的ApplicationBar。我尝试在MSDN中进行演练,但这段代码中似乎有一个错误: private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (((Pivot)sender).SelectedIndex) { case 0:

我正在尝试创建一个Pivot控件,并且为了创建Pivot控件的每个项,我想关联一个不同的ApplicationBar。我尝试在MSDN中进行演练,但这段代码中似乎有一个错误:

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        switch (((Pivot)sender).SelectedIndex)
        {
            case 0:
                ApplicationBar  = ((ApplicationBar)Application.Current.Resources["CountingAppBar"]);
                break;

            case 1:
                ApplicationBar  = ((ApplicationBar)Application.Current.Resources["SavingAppBar"]);
                break;
        }
    }
错误在于ApplicationBar是一个类,它被用作变量,因此我尝试在switch语句之前创建一个实例,我所做的如下:

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        ApplicationBar appBar;
        switch (((Pivot)sender).SelectedIndex)
        {
            case 0:
                appBar = ((ApplicationBar)Application.Current.Resources["CountingAppBar"]);
                break;

            case 1:
                appBar = ((ApplicationBar)Application.Current.Resources["SavingAppBar"]);
                break;
        }
    }
但它似乎不起作用。 我的编程水平仍然是一个初学者,如果答案是详细的,将不胜感激。 谢谢。

为什么不只使用一个ApplicationBar并根据选定的Pivot控件添加或删除ApplicationBarButtons?考虑到许多应用程序都能做到这一点,这应该是非常简单的

PS:根据个人经验,通过C#中的代码添加您的应用程序栏……我在更改XAML应用程序栏时遇到了一些问题。

为什么不只使用一个ApplicationBar并根据选定的Pivot控件添加或删除ApplicationBarButtons?考虑到许多应用程序都能做到这一点,这应该是非常简单的


PS:根据个人经验,通过C#中的代码添加您的应用程序栏……我在更改XAML应用程序栏时遇到了问题。

他们似乎很晚了,但我遵循了相同的msdn教程。您可能无法获得所需的结果,因为您需要将选择更改事件附加到轴项目

<controls:Pivot SelectionChanged="Pivot_SelectionChanged_2" >

</controls:Pivot>

Hey似乎已经很晚了,但我遵循了相同的msdn教程。您可能无法获得所需的结果,因为您需要将选择更改事件附加到轴项目

<controls:Pivot SelectionChanged="Pivot_SelectionChanged_2" >

</controls:Pivot>

这真的很简单。。。可以对每个数据透视项使用不同的appbar。请尝试下面的代码

<phone:Pivot>


这真的很简单。。。可以对每个数据透视项使用不同的appbar。请尝试下面的代码

<phone:Pivot>



您确定链接到了正确的页面吗?它是针对Windows Phone的,虽然我不确定,但ApplicationBar可能只是Windows Phone应用程序的固有属性。因此,我不确定它是否在WPF或Silverlight中工作。可能只是因为您没有调用构造函数,即,
ApplicationBar appBar=new ApplicationBar()是否确实链接到了正确的页面?它是针对Windows Phone的,虽然我不确定,但ApplicationBar可能只是Windows Phone应用程序的固有属性。因此,我不确定它是否在WPF或Silverlight中工作。可能只是因为您没有调用构造函数,即,
ApplicationBar appBar=new ApplicationBar()
完全同意这两种方法,当然,如果在AppBar中使用XAML,代码和UI的分离会更清晰。事实上……我喜欢XAML并在其中创建控件,但由于某些原因,在XAML中AppBar变得太不可预测,当您尝试在code中访问它时,会不断抛出NullReferenceExceptions。完全同意这两种方法,当然,如果在AppBar中使用XAML,代码和UI的分离会更加清晰。事实上……我喜欢XAML并在其中创建控件,但由于某些原因,在XAML中AppBar变得太不可预测,当您试图在代码中访问它时,会不断抛出NullReferenceException