C# 透视选择已更改事件并单击Windows Phone 8中的处理程序

C# 透视选择已更改事件并单击Windows Phone 8中的处理程序,c#,.net,windows-phone-7,windows-phone-8,blend,C#,.net,Windows Phone 7,Windows Phone 8,Blend,我不想把我的点击处理程序放在APP.XAML.CS中,所以我想把它们放在pivot.XAML中。和pivot.XAML.CS 我该怎么做 private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { // MessageBox.Show("Pivot selection changed"); switch (((Pivot)se

我不想把我的点击处理程序放在APP.XAML.CS中,所以我想把它们放在pivot.XAML中。和pivot.XAML.CS

我该怎么做

   private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
           // MessageBox.Show("Pivot selection changed");
            switch (((Pivot)sender).SelectedIndex)
            {
                case 0:
                   // MessageBox.Show("LoginAppBar launched");
                    ApplicationBar = ((ApplicationBar)Application.Current.Resources["zero"]);
                    break;

                case 1:
                   // MessageBox.Show("DefaultAppBar launched");
                    ApplicationBar = ((ApplicationBar)Application.Current.Resources["one"]);
                    break;

                case 2:
                    //Console.WriteLine("DefaultAppBar launched");
                    ApplicationBar = ((ApplicationBar)Application.Current.Resources["two"]);
                    break;
                case 3:
                    //Console.WriteLine("DefaultAppBar launched");
                    ApplicationBar = ((ApplicationBar)Application.Current.Resources["three"]);
                    break;    
            }
        }

您可以通过附加相应pivot的应用程序栏来处理MSDN链接中所述的单击事件。您可以像这样在应用程序栏中添加或删除按钮

ApplicationBarIconButton button1 = new ApplicationBarIconButton();
button1.IconUri = new Uri("/Images/icon_search.png", UriKind.Relative);
button1.Text = "Search";
ApplicationBar.Buttons.Add(button1); // adding button
button1.Click -= ShowSearch; // Adding event to button
button1.Click += ShowSearch;

//Removing second button
ApplicationBar.Buttons.Remove(ApplicationBar.Buttons[1] as ApplicationBarIconButton);
但是,如果您对单击事件有问题,例如,您在每个轴中都有搜索功能,并且希望绑定搜索事件处理程序。为此,您可以绑定一个事件,并在事件内根据当前选定的轴搜索值

private void ShowSearch(object sender, EventArgs e)// event in the application bar button
{
   if (NameOfPivot.SelectedIndex == 0)
   {
     // Do your action here
   }
   else if (NameOfPivot.SelectedIndex == 1)
   {
     // Do your action here
   }
   else if (NameOfPivot.SelectedIndex == 2)
   {
     // Do your action here
   }
}

你的pivot在App.xaml页面中?您能否提供更多细节,如Pivot控件的位置等?不,Pivot位于mainpage.xaml中,但当我想为4个Pivot项目放置4个应用程序栏时,它会从app.xaml.cs本身搜索单击处理程序。但是单击处理程序在mainpage.xaml中,顺便说一句,我使用了MSDN教程来添加额外的栏,但是我无法控制应用程序栏上的单击处理程序。您可以使用一些名称在main.xaml中声明应用程序栏本身,当轴项目发生更改时,您可以将单击项目绑定到按钮,并右键解除其余单击项目的绑定