Я разрабатываю проект в WPF, используя повязку Myo, которая до сих пор работает, распознавая, что устройство подключено, и обновляет информацию в текстовом поле, но когда я настраиваю обработчик событий для распознавания запуска позы, событие никогда не срабатывает.
Я отладил это, делая позы с устройством и удерживая их, также я установил точку останова на этой строке pose.Triggered += Pose_Triggered;
и начало запуска позы.
Точка останова срабатывает в первой строке, но не вызывает останова на фактическом событии private void Pose_Triggered(object sender, PoseEventArgs e)
Это оболочка C#, которую я использую для проекта: https://github.com/tayfuzun/MyoSharp
Кто-нибудь знает, почему событие не срабатывает, хотя позы делаются?
Это метод, в котором вызывается pose_triggered
, и событие:
// listen for when the Myo connects
hub.MyoConnected += (sender, e) =>
{
this.Dispatcher.Invoke((Action)(() =>
{
statusTbx.Text = "Myo has connected! " + e.Myo.Handle;
e.Myo.Vibrate(VibrationType.Short);
// unlock the Myo so that it doesn't keep locking between our poses
e.Myo.Unlock(UnlockType.Hold);
// setup for the pose we want to watch for
var pose = HeldPose.Create(e.Myo, Pose.Fist);
pose.Triggered += Pose_Triggered;
e.Myo.OrientationDataAcquired += Myo_OrientationDataAcquired;
}));
};
Код сработавшего события:
private void Pose_Triggered(object sender, PoseEventArgs e)
{
App.Current.Dispatcher.Invoke((Action)(() =>
{
//need to measure abduction of arm from 0 to 180 degrees.
poseStatusTbx.Text = "{0} arm Myo holding pose {1}" + e.Myo.Arm + e.Myo.Pose;
pitch = pitchCentre;
}));
}
Вот полный код класса: http://hastebin.com/xinirugufo.cs