2013-07-17 5 views
2

Я проверил класс стекапана здесь http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx и не имеет события щелчка.Как реализовать событие click для панели стека

Я работаю над окном телефона 8 приложения, и у меня есть текстовое поле и некоторые кнопки на панели стека. Я хочу включить функцию, в которой можно щелкнуть панель стека, тогда видимость элементов управления на ней будет свернута, а затем при повторном нажатии они станут видимыми.

Как это сделать?

ответ

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

    } 
+6

Теперь мы составляем команды в WPF, что такое Tap –

6

Попробуйте использовать событие MouseLeftButtonUp.

+0

StackPanel.MouseLeftButtonDown работал на простой Silverlight UserControl. – mdisibio

0

положить StackPanel внутри элемента управления Border используйте MouseLeftButtonUp в Border для обработки событий и установить фон из Border в #000001

0

Вы могли бы, вероятно, использовать TouchUp и TouchDown событие. Но я думаю, вам нужно проверить, находится ли TouchDown на том же StackPanel, что и TouchUp. Таким образом, вы можете проверить, был ли это «клик».

3

Вы можете просто обернуть все StackPanel в кнопке: < кнопка> < StackPanel> < StackPanel> </кнопка>

Затем атаковать событие щелчка или команду на кнопку, как вы считаете нужным.