Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#,Windows Phone 7,使用if-else语句检查显示的页面_C#_Windows Phone 7_If Statement - Fatal编程技术网

C#,Windows Phone 7,使用if-else语句检查显示的页面

C#,Windows Phone 7,使用if-else语句检查显示的页面,c#,windows-phone-7,if-statement,C#,Windows Phone 7,If Statement,现在我正在开发一个WindowsPhone7应用程序,我的应用程序在应用程序栏上有三个按钮。以下是这三个按钮的事件处理程序: //app bar page navigation private void ApplicationBarIconButton_Click1(object sender, EventArgs e) { if(//check if the current displayed page is mainpage) {

现在我正在开发一个WindowsPhone7应用程序,我的应用程序在应用程序栏上有三个按钮。以下是这三个按钮的事件处理程序:

    //app bar page navigation
    private void ApplicationBarIconButton_Click1(object sender, EventArgs e)
    {
        if(//check if the current displayed page is mainpage)
        {
            //do nothing
        }
        else
        {
            NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.RelativeOrAbsolute));
        }
    }

    private void ApplicationBarIconButton_Click2(object sender, EventArgs e)
    {
        NavigationService.Navigate(new Uri("/Audios.xaml", UriKind.RelativeOrAbsolute));
    }

    private void ApplicationBarIconButton_Click3(object sender, EventArgs e)
    {
        NavigationService.Navigate(new Uri("/Statistics.xaml", UriKind.RelativeOrAbsolute));
    }
除了第一个按钮(
button\u Click1
)外,按钮导航功能运行良好,因为当我第一次访问主页并单击第一个按钮时,应用程序将自动返回到应用程序列表


因此,我想使用if-else语句检查当前显示的页面,然后决定是导航还是停留在当前页面。

按钮click1应从主页中删除。把那个按钮放在那里是没有意义的


其他页面应使用后退按钮返回主页面。否则你会弄乱你的后台堆栈。

看起来你在使用ApplicationBar,就像在iPhone中使用TabBar一样(或者在Android、Bada等中也使用类似的工具)

在WP7中,Metro样式通常使用轴或全景,而不是“选项卡栏”进行这种类型的导航

如果您确实希望像这样使用ApplicationBar:

  • 然后你可以(WP7市场将允许),但用户可能会觉得它不是很地铁
  • <> LI>您可能想考虑禁用适当的按钮,而不是仅仅是将该动作清除。
  • 然后,您可以使用NavigationService上的
    CurrentSource
    检测当前显示的页面


另外,请务必注意,如果您尝试从
MainPage.xaml
导航到同一url
MainPage.xaml
,则您将看到一个异常-我记得,导航服务抱怨url片段不受支持

把后台搞得一团糟?你的意思是完全删除应用程序栏?你应该为每页定制一个应用程序栏。要避免的一件事是让第1页转到第2页,然后第2页上的按钮链接回第1页。后堆栈(类似于浏览器历史)现在有p1、p2、p1。从第一页返回将退出应用程序,但如果按后退按钮,将转到p2。补救办法是让用户使用“后退”按钮从p2返回p1。“每页一个应用程序栏,可根据页面定制”,感谢提示,我已经为每页定制了应用程序栏:)