C# 在枢轴控件中使用多个应用程序栏
我正在尝试创建一个Pivot控件,并且为了创建Pivot控件的每个项,我想关联一个不同的ApplicationBar。我尝试在MSDN中进行演练,但这段代码中似乎有一个错误: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:
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