Windows phone 7 覆盖返回按钮windows phone 7

Windows phone 7 覆盖返回按钮windows phone 7,windows-phone-7,Windows Phone 7,我正在windows phone 7.8中开发一个应用程序,在其中打开一个网页。我必须在那个页面内导航 我想在按下“后退”按钮时,它会回到网页中,但每次我按下它,应用程序都会关闭 如何修改该按钮的行为?有可能吗?记住以这种方式取消事件调用: protected override void OnBackKeyPress(ComponentModel.CancelEventArgs e) { // your code e.Cancel = true; } 正如ARM所建议的

我正在windows phone 7.8中开发一个应用程序,在其中打开一个网页。我必须在那个页面内导航

我想在按下“后退”按钮时,它会回到网页中,但每次我按下它,应用程序都会关闭


如何修改该按钮的行为?有可能吗?

记住以这种方式取消事件调用:

protected override void OnBackKeyPress(ComponentModel.CancelEventArgs e)
{
    // your code 

     e.Cancel = true; 
}

正如ARM所建议的,使用时要小心。根据微软的说法,如果你按下后退键,当你在第一页时,应用程序必须关闭。因此,不要在第一页上使用此覆盖。

记住以这种方式取消事件调用:

protected override void OnBackKeyPress(ComponentModel.CancelEventArgs e)
{
    // your code 

     e.Cancel = true; 
}

正如ARM所建议的,使用时要小心。根据微软的说法,如果你按下后退键,当你在第一页时,应用程序必须关闭。因此,不要在第一页上使用此覆盖。

记住以这种方式取消事件调用:

protected override void OnBackKeyPress(ComponentModel.CancelEventArgs e)
{
    // your code 

     e.Cancel = true; 
}

正如ARM所建议的,使用时要小心。根据微软的说法,如果你按下后退键,当你在第一页时,应用程序必须关闭。因此,不要在第一页上使用此覆盖。

记住以这种方式取消事件调用:

protected override void OnBackKeyPress(ComponentModel.CancelEventArgs e)
{
    // your code 

     e.Cancel = true; 
}

正如ARM所建议的,使用时要小心。根据微软的说法,如果你按下后退键,当你在第一页时,应用程序必须关闭。因此,不要在第一页使用此覆盖。

在WP7中,您无法访问控件的导航历史记录,因此您可能需要自己实现它。我可能会这样做

1处理控件中的导航事件,每次访问页面时,将Uri推送到Uri堆栈上。
2按back键,如果堆栈中的Uri超过1个(即,超过最初加载的页面),则导航到上一个Uri(因为我们无法返回,请通过导航到上一个页面来伪造它…
3如果我们在堆栈中的第一个条目,让系统处理按钮按下

public MainPage()
{
    InitializeComponent();
    WB1.Navigated += WB1_Navigated;
}

Stack<Uri> visitedUrls = new Stack<Uri>();

void WB1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    visitedUrls.Push(e.Uri);
}

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (visitedUrls.Count > 1)
    {
        WB1.Navigate(visitedUrls.Pop());
        e.Cancel = true;
    }
}

在WP7中,您无法访问控件的导航历史记录,因此您可能需要自己实现它。我可能会这样做

1处理控件中的导航事件,每次访问页面时,将Uri推送到Uri堆栈上。
2按back键,如果堆栈中的Uri超过1个(即,超过最初加载的页面),则导航到上一个Uri(因为我们无法返回,请通过导航到上一个页面来伪造它…
3如果我们在堆栈中的第一个条目,让系统处理按钮按下

public MainPage()
{
    InitializeComponent();
    WB1.Navigated += WB1_Navigated;
}

Stack<Uri> visitedUrls = new Stack<Uri>();

void WB1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    visitedUrls.Push(e.Uri);
}

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (visitedUrls.Count > 1)
    {
        WB1.Navigate(visitedUrls.Pop());
        e.Cancel = true;
    }
}

在WP7中,您无法访问控件的导航历史记录,因此您可能需要自己实现它。我可能会这样做

1处理控件中的导航事件,每次访问页面时,将Uri推送到Uri堆栈上。
2按back键,如果堆栈中的Uri超过1个(即,超过最初加载的页面),则导航到上一个Uri(因为我们无法返回,请通过导航到上一个页面来伪造它…
3如果我们在堆栈中的第一个条目,让系统处理按钮按下

public MainPage()
{
    InitializeComponent();
    WB1.Navigated += WB1_Navigated;
}

Stack<Uri> visitedUrls = new Stack<Uri>();

void WB1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    visitedUrls.Push(e.Uri);
}

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (visitedUrls.Count > 1)
    {
        WB1.Navigate(visitedUrls.Pop());
        e.Cancel = true;
    }
}

在WP7中,您无法访问控件的导航历史记录,因此您可能需要自己实现它。我可能会这样做

1处理控件中的导航事件,每次访问页面时,将Uri推送到Uri堆栈上。
2按back键,如果堆栈中的Uri超过1个(即,超过最初加载的页面),则导航到上一个Uri(因为我们无法返回,请通过导航到上一个页面来伪造它…
3如果我们在堆栈中的第一个条目,让系统处理按钮按下

public MainPage()
{
    InitializeComponent();
    WB1.Navigated += WB1_Navigated;
}

Stack<Uri> visitedUrls = new Stack<Uri>();

void WB1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    visitedUrls.Push(e.Uri);
}

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (visitedUrls.Count > 1)
    {
        WB1.Navigate(visitedUrls.Pop());
        e.Cancel = true;
    }
}


@Biribu这是做你想做的事情的正确方法,但是有一个gotchya。如果您将手机的硬件功能修改得过于紧张,那么认证机构可能会使您的提交失败。他们制定了自己的规则,但您是否违反规则取决于他们的说明。CancelEventArgs出现错误:错误1找不到类型或命名空间名称“CancelEventArgs”(您是否缺少using指令或程序集引用?)C:\xampp\htdocs\WindowsPhone\WindowsPush\WindowsPush\MainPage.xaml.cs 188 48 WindowsPush,如何控制是否在第一页?该网页无法返回任何内容,以使应用程序知道我编辑了以前的帖子,请告诉我它是否有效。我帮不了你。这取决于你知道你的应用程序是如何工作的,根据这一点,你必须检测用户实际在哪个页面上。现在,它告诉了componentModel同样的情况。我应该包括另一个库吗?@Biribu这是做你想做的事情的正确方法,但它有一个gotchya。如果您将手机的硬件功能修改得过于紧张,那么认证机构可能会使您的提交失败。他们制定了自己的规则,但您是否违反规则取决于他们的说明。CancelEventArgs出现错误:错误1找不到类型或命名空间名称“CancelEventArgs”(您是否缺少using指令或程序集引用?)C:\xampp\htdocs\WindowsPhone\WindowsPush\WindowsPush\MainPage.xaml.cs 188 48 WindowsPush,如何控制是否在第一页?该网页无法返回任何内容,以使应用程序知道我编辑了以前的帖子,请告诉我它是否有效。我帮不了你。这取决于你知道你的应用程序是如何工作的,根据这一点,你必须检测用户实际在哪个页面上。现在,它告诉了componentModel同样的情况。我应该包括另一个库吗?@Biribu这是做你想做的事情的正确方法,但它有一个gotchya。如果您将手机的硬件功能修改得过于紧张,那么认证机构可能会使您的提交失败。他们制定了自己的规则,但你是否违反规则则由他们决定