2016-10-22 8 views
0

Я использую визуальные студии для создания приложения Windows IoT. В графическом интерфейсе приложения есть кнопка, которая при нажатии с нажатием мыши или нажатой клавишей выполняет действие, в этом случае текстовое поле меняет текст и запускает двигатель. Когда кнопка отпускается, текстовое поле меняет текст, и двигатель останавливается.Выполнение действия при нажатии кнопки и другое действие при выходе кнопки

Я создал кнопку в файле .xml и button_holding в .cs, но это не выполняет никаких действий.

ответ

1

На графическом интерфейсе приложения есть кнопка, когда нажато с мыши или нажатие клавиши выполняет действие, в данном случае текстовое поле меняет текст и запускает двигатель. Когда кнопка освобождена, текстовое поле меняет текст, и двигатель останавливается.

Для достижения этой цели вы можете использовать PointerPressedEvent и PointerReleasedEvent. Этот код работает для меня:

public MainPage() 
{ 
    this.InitializeComponent(); 
    myButton.AddHandler(PointerPressedEvent, new PointerEventHandler(myButton_PointerPressed), true); 
    myButton.AddHandler(PointerReleasedEvent, new PointerEventHandler(myButton_PointerReleased), true); 
} 

private void myButton_PointerPressed(object sender, PointerRoutedEventArgs e) 
{ 
    myText.Text = "Running..."; 
} 

private void myButton_PointerReleased(object sender, PointerRoutedEventArgs e) 
{ 
    myText.Text = "Stopped"; 
} 
0

Вы можете использовать холдинговое событие, чтобы получить аналогичный MouseUp и MouseDown в традиционных WinForms, как так

private void Button_Holding(object sender, HoldingRoutedEventArgs e) 
     { 
      if (e.HoldingState == Windows.UI.Input.HoldingState.Started) 
      { 
       //do things when button on hold 
      } 
      else if (e.HoldingState == Windows.UI.Input.HoldingState.Completed || 
       e.HoldingState == Windows.UI.Input.HoldingState.Canceled) 
      { 
       //do things when button release 
      } 
     }