1

在我的 WP 7.1 应用程序中,我有两个名为“PAGE 1”、“PAGE 2”的页面,并且有两个按钮,其中第 1 页中的“BUTTON 1”和第 2 页中的“BUTTON 2”。但是我从第 1 页自动单击 BUTTON 1单击第 2 页中的按钮 2 .. 有可能吗?? 请尽快帮助我..

4

1 回答 1

0

有点不清楚你的情况是什么 - 所以我将为我能想象的场景写下答案:

如果两个页面在同一个视图上(即两个PanoramaItems 在一个Panorama),则两个按钮都可以从代码隐藏中获得(如果您不使用Commands - 也就是说)。然后,您可以在事件处理程序中执行以下操作:

private void Button1_Click(object sender, EventArgs e)
{
    // Do action for Button1_Click
    // ...
    // Then call the event handler for Button2
    Button2_Click(sender, e);
}

如果有两个不同的页面(即两个不同的 XAML),则必须通过NavigationService. 在Button1View.xaml

// a flag remembering if the button has been clicked
private bool hasButton1BeenClicked = false;

// The event handler for Button1
private void Button1_Click(object sender, EventArgs e)
{
    // Do action for Button1_Click
    // ...
    // Then set a flag that says it has been clicked

}

// This method puts on the flag if the button was clicked
private string PrepareAddressToButtonView2(string uriToButtonView2) 
{
    if( hasButton1BeenClicked )
    {
        uriToButtonView2 = uriToButtonView2 + "?button1clicked=true";
    }
    return uriToButtonView2;
}

当您到达第二个视图时,您必须手动触发第二个按钮的事件处理程序 - 但前提是在前一个视图上单击了 button1。在Button2View.xaml

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if( NavigationContext.QueryString.ContainsKey("button1clicked") )
    {
        Button2_Click(null, null);
    }
}

解决此问题的另一种方法是保存 Button1 的状态(在某处的静态字段中),然后在导航到 page2 时检查它。

希望这有帮助!

于 2012-08-08T13:38:01.613 回答