在我的 WP 7.1 应用程序中,我有两个名为“PAGE 1”、“PAGE 2”的页面,并且有两个按钮,其中第 1 页中的“BUTTON 1”和第 2 页中的“BUTTON 2”。但是我从第 1 页自动单击 BUTTON 1单击第 2 页中的按钮 2 .. 有可能吗?? 请尽快帮助我..
问问题
893 次
1 回答
0
有点不清楚你的情况是什么 - 所以我将为我能想象的场景写下答案:
如果两个页面在同一个视图上(即两个PanoramaItem
s 在一个Panorama
),则两个按钮都可以从代码隐藏中获得(如果您不使用Command
s - 也就是说)。然后,您可以在事件处理程序中执行以下操作:
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 回答