Это действительно зависит от того, какую информацию вам нужно получать и обрабатывать, когда пользователь касается элемента управления. MouseLeftButtonUp
/ MouseLeftButtonDown
- самые основные события обработки касания - они предлагают простой способ отследить относительное положение касания, поэтому, если вам нужно узнать, как далеко от другого элемента управления произошел щелчок, вы можете использовать это:
Debug.WriteLine(e.GetPosition(button1).X);
Где e
представляет MouseButtonEventArgs
.
ManipulationCompleted
, с другой стороны, больше подходит для случаев, когда вам необходимо:
- Переместить элемент управления
- Изменить размер элемента управления
- Выполнять любые преобразования в элементе управления
Когда вызывается ManipulationCompleted
, ваше приложение получает намного больше информации, чем необходимо (поскольку вы обрабатываете только простое касание), поэтому я бы не рекомендовал его для очень простых задач.
Кроме того, помните, что для элементов управления на основе кнопок есть ClickMode
, где вы явно объявляете, когда следует учитывать щелчок. Вот где MouseLeftButtonUp
и MouseLeftButtonDown
играют важную роль, так как вы можете связать определенные действия, когда кнопка находится в разных состояниях. Это невозможно с ManipulationCompleted
, который будет запущен независимо от состояния кнопки.