如何为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
事件。
您可以将整个堆栈面板包裹在一个按钮中:
然后根据需要将单击事件或命令附加到按钮。
您可以使用TouchUp
和TouchDown
事件。 但我认为你必须检查TouchDown
是否与TouchUp
在同一个StackPanel
。 所以你可以检查它是否是“点击”。
将StackPanel
放在Border
控件中,使用Border
MouseLeftButtonUp
来处理事件并将Border
背景设置为#000001