如何为stackpanel实现click事件

Nii*_*yea 6 c# visibility stackpanel windows-phone-8

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

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

我该怎么做呢?

Dan*_*rth 9

尝试使用该MouseLeftButtonUp活动.


Jon*_*n B 6

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

<button>
    <stackpanel>
    </stackpanel>
</button>
Run Code Online (Sandbox Code Playgroud)

然后,将点击事件或命令附加到您认为合适的按钮上。


小智 0

你可以用一种有点棘手的方式解决这个问题,如果它很好那就没问题,否则我会发布另一个。

 <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;
        }

    }
Run Code Online (Sandbox Code Playgroud)