【问题标题】:Pivot selectionChanged Event and click handlers in Windows Phone 8Windows Phone 8 中的 Pivot selectionChanged 事件和单击处理程序
【发布时间】:2014-04-17 15:35:16
【问题描述】:

我不想将我的点击处理程序放在 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;    
            }
        }

【问题讨论】:

  • 您的数据透视表在 App.xaml 页面中?您能否提供更多细节,例如 Pivot 控件在哪里等?
  • 不,pivot 在 mainpage.xaml 中,但是当我想为 4 个数据透视项放置 4 个应用程序栏时,它会从 app.xaml.cs 本身搜索点击处理程序。但是单击处理程序在 mainpage.xaml 中,顺便说一句,我使用 MSDN 教程添加额外的栏,但我无法控制应用程序栏上的单击处理程序msdn.microsoft.com/en-us/library/windowsphone/develop/…
  • 您可以在 main.xaml 中使用一些名称声明应用程序栏,当枢轴项目发生更改时,您可以将点击项目绑定到按钮并取消绑定其余点击项目的权利

标签: c# .net windows-phone-7 windows-phone-8 blend


【解决方案1】:

您可以通过附加相应枢轴的应用程序栏来处理 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);

如果您对点击事件有疑问,例如您在每个枢轴中都有搜索功能并且您想要绑定搜索事件处理程序。为此,您可以绑定一个事件,并在事件内部根据当前选择的 Pivot 搜索值

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
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多