如何为stackpanel实现click事件

我在这里检查了stackpanel类http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx ,它没有点击事件。

我正在开发一个Windows Phone 8应用程序,我在堆栈面板上有一个文本框和一些按钮。 我想要包含一个可以单击stackpanel的function,然后将其上的控件的可见性设置为折叠,然后再次单击它们时它们将变为可见。

我该怎么做呢?

你可以用一点点狡猾的方式解决这个问题,如果它很好那么它就可以了,否则我会发布另一个。

     private void StackPanel_Tap_1(object sender, GestureEventArgs e) { if (btn1.IsEnabled==false) { btn1.IsEnabled = true; btn1.Visibility = Visibility.Visible; btn2.Visibility = Visibility.Visible; textbox1.Visibility = Visibility.Visible; } else { btn1.IsEnabled = false; btn1.Visibility = Visibility.Collapsed; btn2.Visibility = Visibility.Collapsed; textbox1.Visibility = Visibility.Collapsed; } } 

尝试使用MouseLeftButtonUp事件。

您可以将整个堆栈面板包裹在一个按钮中:

  

然后根据需要将单击事件或命令附加到按钮。

您可以使用TouchUpTouchDown事件。 但我认为你必须检查TouchDown是否与TouchUp在同一个StackPanel 。 所以你可以检查它是否是“点击”。

StackPanel放在Border控件中,使用Border MouseLeftButtonUp来处理事件并将Border背景设置为#000001