我在这里检查了stackpanel类http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx,它没有点击事件。
我正在开发一个 windows phone 8 应用程序,我在堆栈面板上有一个文本框和一些按钮。我想包含一个可以单击堆栈面板的功能,然后将其上的控件的可见性设置为折叠,然后再次单击时它们变得可见。
我该怎么做呢?
我在这里检查了stackpanel类http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx,它没有点击事件。
我正在开发一个 windows phone 8 应用程序,我在堆栈面板上有一个文本框和一些按钮。我想包含一个可以单击堆栈面板的功能,然后将其上的控件的可见性设置为折叠,然后再次单击时它们变得可见。
我该怎么做呢?
尝试使用MouseLeftButtonUp
事件。
您可以将整个堆栈面板包装在一个按钮中:
<button>
<stackpanel>
</stackpanel>
</button>
然后将单击事件或命令附加到您认为合适的按钮。
把控件放在StackPanel
里面,使用to来处理事件和设置背景Border
MouseLeftButtonUp
Border
Border
#000001
您可能可以使用TouchUp
andTouchDown
事件。但我认为您必须检查 是否TouchDown
与. 所以你可以检查它是否是“点击”。StackPanel
TouchUp
你可以用一些棘手的方式解决这个问题,如果它很好,那就没关系,否则我会发布另一个。
<StackPanel Background="Red" MinHeight="80" VerticalAlignment="Top" Tap="StackPanel_Tap_1" Orientation="Horizontal">
<Button x:Name="btn1" Content="Button"/>
<Button x:Name="btn2" Content="Button"/>
<TextBox Height="72" x:Name="textbox1" TextWrapping="Wrap" Text="TextBox" Width="456"/>
</StackPanel>
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;
}
}